From: Günter Milde Date: Tue, 7 May 2019 14:12:41 +0000 (+0200) Subject: Make Japanese documentation more robust. X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=d05c84aaaae9b8e81d49c101d4078bc79c5288b4;p=features.git Make Japanese documentation more robust. The locally defined Ruby (furigana) inset now works also with non-TeX fonts. --- diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests index 0e7807fd17..8d8bd75b3d 100644 --- a/development/autotests/invertedTests +++ b/development/autotests/invertedTests @@ -87,8 +87,9 @@ export/export/latex/unicodesymbols/031-thai_th_(euc-|gbk|jis|utf8-cjk).* # # The textclass-loaded jsclasses/okumacro.sty needs format `pLaTeX2e' # (okumacro provides \ruby support). -export/doc/ja/(Additional|Customization|EmbeddedObjects|Intro|LaTeXConfig|Math|Shortcuts|Tutorial|UserGuide).*_systemF -export/doc/ja/Formula-numbering_pdf4_systemF +export/doc/ja/(Additional|LaTeXConfig|Math|UserGuide).*_systemF +export/doc/ja/(Formula-numbering|Customization|EmbeddedObjects|Intro)_pdf4_systemF +export/doc/ja/Tutorial_(dvi3|pdf5)_systemF # Test for command \pdfsave fails: # ! Package xypdf Error: pdfTeX version 1.40.0 or higher is needed for the xypdf export/examples/ja/Graphics_and_Insets/XY-Pic.*_systemF @@ -345,15 +346,6 @@ Sublabel: externalissues # # e.g. a bug or missing feature in ps2pdf -# Japanese (platex) -# dvips requires special font setup for kanji, otherwise -# * the Postscript file has wrong and missing characters -# (without error or warning) -# * as a consequence, ps2pdf fails for some documents on TL18 and TL19: -# -# The following may also fail for other reasons with TL19 -#export/doc/ja/(Additional|Customization|EmbeddedObjects|Math|UserGuide)_pdf - # ps2pdf gives the following and exits with error: # Error: /invalidfileaccess in --file-- # ps2pdf succeeds if the -dNOSAFER flag is used. For discussion, see: diff --git a/lib/doc/ja/Additional.lyx b/lib/doc/ja/Additional.lyx index de97bb60cb..aaba5802a3 100644 --- a/lib/doc/ja/Additional.lyx +++ b/lib/doc/ja/Additional.lyx @@ -84,9 +84,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout diff --git a/lib/doc/ja/Customization.lyx b/lib/doc/ja/Customization.lyx index e42b35b38d..175f7d9e84 100644 --- a/lib/doc/ja/Customization.lyx +++ b/lib/doc/ja/Customization.lyx @@ -74,9 +74,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble ResetsFont true End diff --git a/lib/doc/ja/EmbeddedObjects.lyx b/lib/doc/ja/EmbeddedObjects.lyx index fc60b22cfa..8359ea5c79 100644 --- a/lib/doc/ja/EmbeddedObjects.lyx +++ b/lib/doc/ja/EmbeddedObjects.lyx @@ -197,9 +197,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout diff --git a/lib/doc/ja/Formula-numbering.lyx b/lib/doc/ja/Formula-numbering.lyx index 60464e5d74..47196da601 100644 --- a/lib/doc/ja/Formula-numbering.lyx +++ b/lib/doc/ja/Formula-numbering.lyx @@ -43,7 +43,7 @@ \let\c@equation\c@org@eq \let\theequation\org@theeq} \end_preamble -\use_default_options false +\use_default_options true \maintain_unincluded_children false \language japanese \language_package default diff --git a/lib/doc/ja/Intro.lyx b/lib/doc/ja/Intro.lyx index 9f986087f6..8ff8db9135 100644 --- a/lib/doc/ja/Intro.lyx +++ b/lib/doc/ja/Intro.lyx @@ -48,9 +48,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout diff --git a/lib/doc/ja/Math.lyx b/lib/doc/ja/Math.lyx index f181cfedc3..e257f5dd85 100644 --- a/lib/doc/ja/Math.lyx +++ b/lib/doc/ja/Math.lyx @@ -168,9 +168,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout diff --git a/lib/doc/ja/Shortcuts.lyx b/lib/doc/ja/Shortcuts.lyx index dbcfb0c76b..800fd2a2c5 100644 --- a/lib/doc/ja/Shortcuts.lyx +++ b/lib/doc/ja/Shortcuts.lyx @@ -5,7 +5,7 @@ \save_transient_properties true \origin /systemlyxdir/doc/ja/ \textclass bxjsarticle -\use_default_options false +\use_default_options true \maintain_unincluded_children false \begin_local_layout InsetLayout Flex:Ruby @@ -28,9 +28,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout diff --git a/lib/doc/ja/Tutorial.lyx b/lib/doc/ja/Tutorial.lyx index b69843768a..146aee9de5 100644 --- a/lib/doc/ja/Tutorial.lyx +++ b/lib/doc/ja/Tutorial.lyx @@ -1,11 +1,11 @@ -#LyX 2.3 created this file. For more info see http://www.lyx.org/ +#LyX 2.4 created this file. For more info see https://www.lyx.org/ \lyxformat 544 \begin_document \begin_header \save_transient_properties false \origin /systemlyxdir/doc/ja/ \textclass bxjsbook -\use_default_options false +\use_default_options true \maintain_unincluded_children false \begin_local_layout InsetLayout Flex:Ruby @@ -28,9 +28,15 @@ EndFont Mandatory 1 EndArgument Preamble -\IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout @@ -40,7 +46,7 @@ End \fontencoding global \font_roman "lmodern" "IPAexMincho" \font_sans "default" "IPAexGothic" -\font_typewriter "default" "default" +\font_typewriter "default" "IPAGothic" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false @@ -62,7 +68,7 @@ End \pdf_author "LyX Team, Japanese translation: Koji Yokata" \pdf_subject "LyX-documentation Tutorial" \pdf_keywords "LyX, documentation" -\pdf_bookmarks false +\pdf_bookmarks true \pdf_bookmarksnumbered true \pdf_bookmarksopen true \pdf_bookmarksopenlevel 2 diff --git a/lib/doc/ja/UserGuide.lyx b/lib/doc/ja/UserGuide.lyx index f464eff8c0..bbb35df091 100644 --- a/lib/doc/ja/UserGuide.lyx +++ b/lib/doc/ja/UserGuide.lyx @@ -77,8 +77,15 @@ Mandatory 1 EndArgument Preamble \IfFileExists{okumacro.sty} -{\usepackage{okumacro}} -{\newcommand{\ruby}[2]{#2}} +\ifdefined\kanjiskip + \IfFileExists{okumacro.sty}% + {\usepackage{okumacro}}% + {\newcommand{\ruby}[2]{\shortstack{\tiny ##2\\##1}}}% +\else \ifdefined\luatexversion + \usepackage{luatexja-ruby} +\else \ifdefined\XeTeXversion + \usepackage{ruby}% +\fi\fi\fi EndPreamble End \end_local_layout diff --git a/lib/examples/ja/Modules/Braille.lyx b/lib/examples/ja/Modules/Braille.lyx index 8e0454a839..8bf26da84a 100644 --- a/lib/examples/ja/Modules/Braille.lyx +++ b/lib/examples/ja/Modules/Braille.lyx @@ -10,7 +10,7 @@ \renewenvironment{lyxgreyedout} {\textcolor{blue}\bgroup}{\egroup} \end_preamble -\use_default_options false +\use_default_options true \begin_modules braille \end_modules diff --git a/lib/examples/ja/Multilingual_Typesetting_%28CJKutf8%29.lyx b/lib/examples/ja/Multilingual_Typesetting_%28CJKutf8%29.lyx index 06f3df6ea4..52572bd683 100644 --- a/lib/examples/ja/Multilingual_Typesetting_%28CJKutf8%29.lyx +++ b/lib/examples/ja/Multilingual_Typesetting_%28CJKutf8%29.lyx @@ -1,5 +1,5 @@ #LyX 2.4 created this file. For more info see https://www.lyx.org/ -\lyxformat 572 +\lyxformat 573 \begin_document \begin_header \save_transient_properties true @@ -31,7 +31,7 @@ %\setmonojfont{WenQuanYi Micro Hei Mono} \fi \end_preamble -\use_default_options false +\use_default_options true \begin_modules logicalmkup \end_modules @@ -63,6 +63,15 @@ logicalmkup \paperfontsize default \spacing single \use_hyperref false +\pdf_bookmarks false +\pdf_bookmarksnumbered true +\pdf_bookmarksopen false +\pdf_bookmarksopenlevel 1 +\pdf_breaklinks false +\pdf_pdfborder true +\pdf_colorlinks false +\pdf_backref false +\pdf_pdfusetitle true \papersize default \use_geometry false \use_package amsmath 1 @@ -135,7 +144,17 @@ For multi-lingual documents with parts in European languages, you can use \begin_layout Itemize \lang english -Set a standard document class (document classes starting with +Use one of the Japanese +\begin_inset CommandInset href +LatexCommand href +name "BXjscls" +target "https://www.ctan.org/pkg/bxjscls" +literal "false" + +\end_inset + + classes or a standard document class. + The other document classes starting with \begin_inset Quotes bld \end_inset @@ -143,7 +162,7 @@ Japanese \begin_inset Quotes brd \end_inset - use pLaTeX). + require pLaTeX. \end_layout \begin_layout Itemize @@ -161,7 +180,7 @@ Japanese (CJK) \begin_inset Quotes bld \end_inset -Unicode (CJK) (utf8) +Unicode (utf8) \begin_inset Quotes brd \end_inset @@ -291,5 +310,18 @@ Russisch: \end_layout \end_deeper +\begin_layout Enumerate + +\lang english +Japanese characters ( +\lang japanese-cjk +介, し +\family sans +, 門 +\family default +\lang english +) may also be used in text parts set to other languages. +\end_layout + \end_body \end_document diff --git a/lib/examples/ja/Multilingual_Typesetting_%28platex%29.lyx b/lib/examples/ja/Multilingual_Typesetting_%28platex%29.lyx index 51a038d9ba..32ec8c4242 100644 --- a/lib/examples/ja/Multilingual_Typesetting_%28platex%29.lyx +++ b/lib/examples/ja/Multilingual_Typesetting_%28platex%29.lyx @@ -1,11 +1,11 @@ #LyX 2.4 created this file. For more info see https://www.lyx.org/ -\lyxformat 572 +\lyxformat 573 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ja/ \textclass bxjsarticle -\use_default_options false +\use_default_options true \maintain_unincluded_children false \language japanese \language_package auto @@ -103,7 +103,7 @@ Japanese … (BXJS Class) \begin_inset Quotes erd \end_inset - or non-Japaneses standard classes). + or non-Japanese standard classes). \end_layout \begin_layout Subsection* diff --git a/lib/examples/ja/Welcome.lyx b/lib/examples/ja/Welcome.lyx index 5dbdfdd292..944c7a5738 100644 --- a/lib/examples/ja/Welcome.lyx +++ b/lib/examples/ja/Welcome.lyx @@ -5,7 +5,7 @@ \save_transient_properties true \origin /systemlyxdir/examples/ja/ \textclass bxjsarticle -\use_default_options false +\use_default_options true \maintain_unincluded_children false \language japanese \language_package auto diff --git a/src/PDFOptions.cpp b/src/PDFOptions.cpp index 0b5b139e95..026c22db91 100644 --- a/src/PDFOptions.cpp +++ b/src/PDFOptions.cpp @@ -102,9 +102,9 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os, opt += runparams.hyperref_driver + ","; // Since LyX uses unicode, also set the PDF strings to unicode strings - // with the hyperref option "unicode". - // (With Xe/LuaTeX and pTeX, unicode=true is the default - // and the option leads to errors with some Japanese document classes) + // with the hyperref option "unicode". (With Xe/LuaTeX and pTeX, + // unicode=true is the default, with Japanese (platex), the option + // leads to errors (even if the input encoding is UTF-8).) if (!runparams.isFullUnicode() && !runparams.use_japanese) opt += "unicode=true,";