X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fpatches%2Flltjdefs.sty;h=03366c258f027161376f3933a79a68db70bc964b;hb=51ffc6ee77fd6f1429c386cf38171c4db0fd19a9;hp=89fa7e1010bc8c6c4a834bb1620d650218e52ad9;hpb=bb280b12465358e3308e371b45233102bf70b30c;p=luatex-ja%2Fluatexja.git diff --git a/src/patches/lltjdefs.sty b/src/patches/lltjdefs.sty index 89fa7e1..03366c2 100644 --- a/src/patches/lltjdefs.sty +++ b/src/patches/lltjdefs.sty @@ -3,16 +3,24 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjdefs}[2015/08/29 Default font settings of LuaTeX-ja] - -\def\ltj@stdmcfont{IPAExMincho} -\def\ltj@stdgtfont{IPAExGothic} -\InputIfFileExists{luatexja.cfg}{}{% - \PackageInfo{lltjdefs}{Cannot find file `luatexja.cfg'\@gobble}% -} +\ProvidesPackage{lltjdefs}[2020-09-30 Default font settings of LuaTeX-ja] + +\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi +\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi +\ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi +\ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi +\InputIfFileExists{luatexja.cfg}{% + \typeout{*************************^^J% + * Loading luatexja.cfg.^^J% + *************************}% +}{} \DeclareKanjiEncodingDefaults{}{} \DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10} +\kanjifamily{mc} +\kanjiseries{m} +\kanjishape{n} +\fontsize{10}{10} \DeclareYokoKanjiEncoding{JY3}{}{} \DeclareKanjiSubstitution{JY3}{mc}{m}{n} \DeclareTateKanjiEncoding{JT3}{}{} @@ -20,28 +28,45 @@ \newcommand\mcdefault{mc} \newcommand\gtdefault{gt} -\def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont} \newcommand\jttdefault{\mcdefault} \newcommand\kanjiencodingdefault{JY3} \newcommand\kanjifamilydefault{\mcdefault} \newcommand\kanjiseriesdefault{\mddefault} -\newcommand\kanjishapedefault{\updefault} +\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0 + %% LaTeX 2020-02-02 + \newcommand\kanjishapedefault{\shapedefault} +\else %% LaTeX 2019-10-01 + \newcommand\kanjishapedefault{\updefault} +\fi \DeclareKanjiFamily{JY3}{mc}{} -\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujis}{} +\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{} \DeclareKanjiFamily{JY3}{gt}{} -\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujis}{} +\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{} \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/m/n}{} \DeclareKanjiFamily{JT3}{mc}{} -\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujisv}{} +\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{} \DeclareKanjiFamily{JT3}{gt}{} -\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujisv}{} +\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{} \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/m/n}{} \KanjiEncodingPair{JY3}{JT3} +\DeclareRelationFont{JY3}{gt}{m}{}{TU}{lmr}{bx}{} +\DeclareRelationFont{JY3}{mc}{m}{}{TU}{lmr}{m}{} +\DeclareRelationFont{JY3}{mc}{bx}{}{TU}{lmr}{bx}{} +\DeclareRelationFont{JY3}{mc}{b}{}{TU}{lmr}{b}{} +\DeclareRelationFont{JT3}{gt}{m}{}{TU}{lmr}{bx}{} +\DeclareRelationFont{JT3}{mc}{m}{}{TU}{lmr}{m}{} +\DeclareRelationFont{JT3}{mc}{bx}{}{TU}{lmr}{bx}{} +\DeclareRelationFont{JT3}{mc}{b}{}{TU}{lmr}{b}{} + \kanjiencoding{JY3}\selectfont\adjustbaseline \DeclareTextFontCommand{\textmc}{\mcfamily} @@ -49,11 +74,70 @@ \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{} \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{} -\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n} -\jfam\symmincho -\SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n} -\DeclareSymbolFontAlphabet{\mathmc}{mincho} -\DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n} +\unless\ifltj@disablejfam + \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}\jfam\symmincho + \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n} + \DeclareSymbolFontAlphabet{\mathmc}{mincho} + \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n} +\fi + +\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0 +%%%% LaTeX >= 2020-02-02 +\edef\bfseries@mc{\bfdefault} +\edef\bfseries@gt{\bfdefault} +\def\bfseries@jtt{\bfseries@mc} +\edef\mdseries@mc{\mddefault} +\edef\mdseries@gt{\mddefault} +\def\mdseries@jtt{\mdseries@mc} +\fi + +\newif\if@ltj@match@family +\@ltj@match@familyfalse +\def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont} + +\def\@ltj@hook@family#1#2{ % #1: csname #2: contents + \ifltj@ltfilehook@avail % LaTeX 2020-10-01 + \AddToHook{#1}{#2}% + \else\ifcsname @#1hook\endcsname % LaTeX 2020-02-02 + \csappto{@#1hook}{#2}% + \else % LaTeX 2019-10-01 + \ifcsname #1 \endcsname + \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}% + \else + \PackageWarningNoLine{luatexja}{% + Patching to \expandafter\string\csname #1\endcsname\space failed% + }% + \fi + \fi\fi +} +\@ltj@hook@family{rmfamily}{% + \if@ltj@match@family + \prepare@family@series@update@kanji{mc}\mcdefault + \fi +} +\@ltj@hook@family{sffamily}{% + \if@ltj@match@family + \prepare@family@series@update@kanji{gt}\gtdefault + \fi +} +\@ltj@hook@family{ttfamily}{% + \if@ltj@match@family + \prepare@family@series@update@kanji{jtt}\jttdefault + \fi +} +\let\@ltj@hook@family\@undefined + +\ifltj@ltfilehook@avail % 2020-10-01 + \expandafter\def\expandafter\kanjiseriesdefault + \expandafter{\kanjiseriesdefault\@empty} + \let\kanjiseriesdefault@kernel\kanjiseriesdefault +\fi + +%%% \eminnershape +\expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{} +\def\eminnershape{\mcfamily \upshape} + +\ltjsetparameter{autospacing, autoxspacing, differentjfm=paverage} \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF} \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF} @@ -61,110 +145,36 @@ "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF} \ltjdefcharrange{4}{% "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF, - "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F, - "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese + "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF, + "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF, + "1F300-"1FFFF, "2000-"206F +} % non-Japanese \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF} \ltjdefcharrange{6}{% "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF, - "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF} -\ltjdefcharrange{7}{ - "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F, - "AC00-"D7FF} + "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF, + "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF +} +\ltjdefcharrange{7}{% + "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF, + "A960-"A97F, "AC00-"D7FF +} \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7} -\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}} +\ltjdefcharrange{9}{ + "2002, "2010, "2011, "2013, "2014, "2015, "2016, "2018, "2019, + "201A, "201C, "201D, "201E, "2020, "2021, "2022, "2025, "2026, + "2030, "2032, "2033, "2039, "203A, "203B, "203C, "203E, "203F, + "2042, "2044, "2047, "2048, "2049, "2051 +} +\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}} \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end} -\def\<{\inhibitglue} +\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue} + +\directlua{luatexja.jfont.register_vert_replace{ + [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F, +}} % END OF FILE \endinput -======== comment ======== - -MIDDLE - -\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF} - % 2 "80-"FF num = 471/128 name = Latin-1 Supplement - % 3 "100-"17F num = 484/128 name = Latin Extended-A - % 4 "180-"24F num = 87/208 name = Latin Extended-B - % 5 "250-"2AF num = 154/96 name = IPA Extensions - % 6 "2B0-"2FF num = 42/80 name = Spacing Modifier Letters - % 7 "300-"36F num = 98/112 name = Combining Diacritical Marks - % 64 "1E00-"1EFF num = 16/256 name = Latin Extended Additional - -\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF} - % Greek and Coptic, Cyrillic, Greek Extended - -\ltjdefcharrange{3}{% - "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF} - % 66 "2000-"206F num = 140/112 name = General Punctuation - % 67 "2070-"209F num = 68/48 name = Superscripts and Subscripts - % 68 "20A0-"20CF num = 5/48 name = Currency Symbols - % 69 "20D0-"20FF num = 2/48 name = Combining Diacritical Marks for Symbols - % 70 "2100-"214F num = 46/80 name = Letterlike Symbols - % 71 "2150-"218F num = 90/64 name = Number Forms - % 72 "2190-"21FF num = 39/112 name = Arrows - % 73 "2200-"22FF num = 210/256 name = Mathematical Operators - % 74 "2300-"23FF num = 69/256 name = Miscellaneous Technical - % 75 "2400-"243F num = 1/64 name = Control Pictures - % 78 "2500-"257F num = 241 name = Box Drawing - % 79 "2580-"259F num = 17 name = Block Elements - % 80 "25A0-"25FF num = 70 name = Geometric Shapes - % 81 "2600-"26FF num = 49 name = Miscellaneous Symbols - % 82 "2700-"27BF num = 23 name = Dingbats - % 86 "2900-"297F num = 2 name = Supplemental Arrows-B - % 87 "2980-"29FF num = 4 name = Miscellaneous Mathematical Symbols-B - % 89 "2B00-"2BFF num = 3 name = Miscellaneous Symbols and Arrows - -NEGATIVE - -\ltjdefcharrange{4}{% - "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF, - "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F, - "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} -} % non-Japanese - -\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF} - % Surrogates, Tags - % 208 "F0000-"FFFFF num = 0/65536 name = Supplementary Private Use Area-A - % 209 "100000-"10FFFF num = 0/65536 name = Supplementary Private Use Area-B - -POSITIVE - -% Japanese -\ltjdefcharrange{6}{% - "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF, - "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF} -% 77 "2460-"24FF num = 150/160 name = Enclosed Alphanumerics -% 98 "2E80-"2EFF num = 21 name = CJK Radicals Supplement -% 101 "3000-"303F num = 144 name = CJK Symbols and Punctuation -% 102 "3040-"309F num = 1074 name = Hiragana -% 103 "30A0-"30FF num = 985 name = Katakana -% 106 "3190-"319F num = 16/16 name = Kanbun -% 109 "31F0-"31FF num = 128 name = Katakana Phonetic Extensions -% 110 "3200-"32FF num = 143 name = Enclosed CJK Letters and Months -% 111 "3300-"33FF num = 255 name = CJK Compatibility -% 112 "3400-"4DBF num = 203 name = CJK Unified Ideographs Extension A -% 114 "4E00-"9FFF num = 14087 name = CJK Unified Ideographs -% 143 "F900-"FAFF num = 110/512 name = CJK Compatibility Ideographs -% 147 "FE10-"FE1F num = 0/16 name = Vertical Forms -% 149 "FE30-"FE4F num = 8/32 name = CJK Compatibility Forms -% 150 "FE50-"FE6F num = 0/32 name = Small Form Variants -% SIP -% "E0000-"E01EF Variation Selectors Supplement - -\ltjdefcharrange{7}{ - "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F, - "AC00-"D7FF} - % 35 "1100-"11FF num = 1 name = Hangul Jamo - % 99 "2F00-"2FDF num = 0/224 name = Kangxi Radicals - % 100 "2FF0-"2FFF num = 0/16 name = Ideographic Description Characters - % 104 "3100-"312F num = 0/48 name = Bopomofo - % 105 "3130-"318F num = 0/96 name = Hangul Compatibility Jamo - % 107 "31A0-"31BF num = 0/32 name = Bopomofo Extended - % 108 "31C0-"31EF num = 0/48 name = CJK Strokes - % 115 "A000-"A48F num = 0/1168 name = Yi Syllables - % 116 "A490-"A4CF num = 0/64 name = Yi Radicals - % 124 "A830-"A83F num = 0/16 name = Common Indic Number Forms - % 137 "AC00-"D7AF num = 0/11184 name = Hangul Syllables - % 138 "D7B0-"D7FF num = 0/80 name = Hangul Jamo Extended-B