From 34897eebd22c3de968b64f09bb4a371d96cb0b89 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 3 Feb 2020 03:02:01 +0000 Subject: CTAN sync 202002030302 --- language/japanese/zxjafont/README-ja.md | 4 + language/japanese/zxjafont/README.md | 5 + language/japanese/zxjafont/zxjafont.pdf | Bin 147263 -> 160706 bytes language/japanese/zxjafont/zxjafont.sty | 208 +++++++++++++++++++++----------- language/japanese/zxjafont/zxjafont.tex | 174 ++++++++++++++++++-------- 5 files changed, 269 insertions(+), 122 deletions(-) (limited to 'language/japanese/zxjafont') diff --git a/language/japanese/zxjafont/README-ja.md b/language/japanese/zxjafont/README-ja.md index c2b7d22c88..7bc8c16f70 100644 --- a/language/japanese/zxjafont/README-ja.md +++ b/language/japanese/zxjafont/README-ja.md @@ -36,6 +36,10 @@ zxjafont パッケージ ー 本体 更新履歴 -------- + * Version 1.0 〈2020/02/02〉 + - 3 ウェイトのサポート。`(no)threeweight` オプション追加。 + - xeCJK 読込時も和文前提の処理に切り替える。 + - オプション追加:`(no)ignorejatype`。 * Version 0.7 〈2020/01/18〉 - オプション追加:`(no)bold`、`nojisshape`。 - オプション別名:`(no)deluxe`。 diff --git a/language/japanese/zxjafont/README.md b/language/japanese/zxjafont/README.md index bc744ea05e..286ff82bca 100644 --- a/language/japanese/zxjafont/README.md +++ b/language/japanese/zxjafont/README.md @@ -39,6 +39,11 @@ Please refer to the manual `zxjafont.pdf` (in Japanese) for detail. Revision History ---------------- + * Version 1.0 〈2020/02/02〉 + - Now multiweight presets offer three weights per family. New + option `(no)threeweight` is added. + - Now use of xeCJK activates the Japanese-font mode. + - New option: `(no)ignorejatype`. * Version 0.7 〈2020/01/18〉 - New options: `(no)bold`, `nojisshape`. - New option aliases: `(no)deluxe`. diff --git a/language/japanese/zxjafont/zxjafont.pdf b/language/japanese/zxjafont/zxjafont.pdf index a5fa8dc459..a746330b27 100644 Binary files a/language/japanese/zxjafont/zxjafont.pdf and b/language/japanese/zxjafont/zxjafont.pdf differ diff --git a/language/japanese/zxjafont/zxjafont.sty b/language/japanese/zxjafont/zxjafont.sty index f9172fec5e..80805e118d 100644 --- a/language/japanese/zxjafont/zxjafont.sty +++ b/language/japanese/zxjafont/zxjafont.sty @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{zxjafont}[2020/01/18 v0.7] +\ProvidesPackage{zxjafont}[2020/02/02 v1.0] \def\zxjf@pkgname{zxjafont} %% preparation @@ -33,6 +33,10 @@ \PackageError\zxjf@pkgname {Invalid value '#2' for option #1}\@ehc} +%% switch 'fontspec@mw' +\newif\ifzxjf@fontspec@mw +\@ifpackagelater{fontspec}{2014/06/01}{\zxjf@fontspec@mwtrue}{}% v2.4 + %% \zxjf@cond\ifXXX...\fi{}{} \@gobbletwo\if\if \def\zxjf@cond#1\fi{% #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} @@ -63,17 +67,27 @@ \chardef\zxjf@cjkshape@@none=0 \chardef\zxjf@cjkshape@@xc=1 % 90jis \chardef\zxjf@cjkshape@@mmiv=2 % jis2004 +\chardef\zxjf@jatype@@none=0 +\chardef\zxjf@jatype@@xeCJK=1 +\chardef\zxjf@jatype@@zxjatype=2 %% variables \let\zxjf@main@preset\relax \let\zxjf@sub@preset\@empty \newif\ifzxjf@prop \newif\ifzxjf@oneweight +\newif\ifzxjf@threeweight \newif\ifzxjf@bold \let\zxjf@cjkshape\zxjf@cjkshape@@none \let\zxjf@scale\relax \let\zxjf@feature\@empty -\newif\ifzxjf@zxjatype +\let\zxjf@jatype\zxjf@jatype@@none +\newif\ifzxjf@ignore@jatype + +%% default for 'threeweight' +\ifzxjf@fontspec@mw + \zxjf@threeweighttrue +\fi %% \zxjf@all@main@preset \zxjf@onlypreamble@def\zxjf@all@main@preset{% @@ -107,6 +121,9 @@ \DeclareOption{nooneweight}{\zxjf@oneweightfalse} \DeclareOption{nodeluxe}{\zxjf@oneweighttrue} \DeclareOption{deluxe}{\zxjf@oneweightfalse} +% 'threeweight' +\DeclareOption{threeweight}{\zxjf@threeweighttrue} +\DeclareOption{nothreeweight}{\zxjf@threeweightfalse} % 'bold' \DeclareOption{bold}{\zxjf@boldtrue} \DeclareOption{nobold}{\zxjf@boldfalse} @@ -116,6 +133,9 @@ \DeclareOption{jis2004}{\let\zxjf@cjkshape\zxjf@cjkshape@@mmiv} \DeclareOption{2004jis}{\let\zxjf@cjkshape\zxjf@cjkshape@@mmiv} \DeclareOption{nojisshape}{\let\zxjf@cjkshape\zxjf@cjkshape@@none} +% 'ignorejatype' +\DeclareOption{ignorejatype}{\zxjf@ignore@jatypetrue} +\DeclareOption{noignorejatype}{\zxjf@ignore@jatypefalse} % dummy options for compatibility with luatexja-preset \DeclareOption{match}{}% xeCJK always work as 'match' is on \DeclareOption{expert}{\zxjf@warn@niopt{expert}} @@ -150,26 +170,41 @@ \space\space\zxjf@all@main@preset} \expandafter\endinput\fi\relax -%% detect zxjatype -\@ifpackageloaded{zxjatype}{\zxjf@zxjatypetrue}{} -\AtBeginDocument{% - \unless\ifzxjf@zxjatype - \@ifpackageloaded{zxjatype}{% - \PackageError\zxjf@pkgname - {zxjatype must be loaded before me}\@ehc - }{}% - \fi} -\ifzxjf@zxjatype\ifzxjf@prop +%% detect zxjatype/xeCJK +\unless\ifzxjf@ignore@jatype + \@ifpackageloaded{xeCJK}{\let\zxjf@jatype\zxjf@jatype@@xeCJK}{} + \@ifpackageloaded{zxjatype}{\let\zxjf@jatype\zxjf@jatype@@zxjatype}{} + \ifnum\zxjf@jatype=\zxjf@jatype@@none + \AtBeginDocument{% + \@ifpackageloaded{xeCJK}{% + \PackageError\zxjf@pkgname + {zxjatype/xeCJK must be loaded before zxjafont}\@ehc + }{}% + } + \fi +\fi + +%% check for 'prop' +\unless\ifnum\zxjf@jatype=\zxjf@jatype@@none\ifzxjf@prop \PackageError\zxjf@pkgname - {Option 'prop' cannot be used with zxjatype}\@ehc + {Option 'prop' cannot be used with zxjatype/xeCJK}\@ehc \zxjf@propfalse \fi\fi +%% check for 'threeweight' +\unless\ifzxjf@fontspec@mw\ifzxjf@threeweight + \PackageError\zxjf@pkgname + {Option 'threeweight' cannot be used, bebause\MessageBreak + your 'fontspec' is too old} + {\@ehc} + \zxjf@threeweightfalse +\fi\fi + %% decide scale factor \ifx\zxjf@scale\relax % If zxjatype is used, try \zxjatypeJaScale, \zxjt@scale, % and \__zxjt_scale_tl. - \ifzxjf@zxjatype + \ifnum\zxjf@jatype=\zxjf@jatype@@zxjatype \ifdefined\zxjatypeJaScale \let\zxjf@scale\zxjatypeJaScale \else\if\zxjf@isvalid{zxjt@scale}\let\zxjf@scale\zxjt@scale \else\if\zxjf@isvalid{__zxjt_scale_tl}% @@ -222,7 +257,12 @@ #3{##1}[#2,##2]{##3}}} %% \zxjf@setmainfont{}{}, etc. -\ifzxjf@zxjatype +\ifnum\zxjf@jatype=\zxjf@jatype@@xeCJK +\edef\zxjf@setmainfont#1{\zxjf@font@set\setCJKmainfont{#1}} +\edef\zxjf@setsansfont#1{\zxjf@font@set\setCJKsansfont{#1}} +\edef\zxjf@setmonofont#1{\zxjf@font@set\setCJKmonofont{#1}} +\zxjf@newfamily@gen{\setCJKfamilyfont} +\else\ifnum\zxjf@jatype=\zxjf@jatype@@zxjatype \edef\zxjf@setmainfont#1{\zxjf@font@set\setjamainfont{#1}} \edef\zxjf@setsansfont#1{\zxjf@font@set\setjasansfont{#1}} \edef\zxjf@setmonofont#1{\zxjf@font@set\setjamonofont{#1}} @@ -234,7 +274,7 @@ \edef\zxjf@newfamily#1#2{% \unexpanded{\zxjf@with@cs\newfontfamily}{#1family}% [\expandonce\zxjf@whole@feature,#2]} -\fi +\fi\fi %--------------------------------------- preset japanese font mappings @@ -246,20 +286,27 @@ \zxjf@setmainfont{#3,BoldFont=#2}{#1}% \zxjf@setsansfont{#3,BoldFont=#2}{#2}% \zxjf@setmonofont{#3,BoldFont=#2}{#2}} -\zxjf@onlypreamble@def\zxjf@multiweight#1#2#3#4#5#6{% +\zxjf@onlypreamble@def\zxjf@multiweight#1#2#3#4#5#6#7#8{% \ifzxjf@bold - \zxjf@setmainfont{#6,BoldFont=#4}{#1}% - \zxjf@setsansfont{#6,BoldFont=#4}{#4}% - \zxjf@setmonofont{#6,BoldFont=#4}{#4}% + \zxjf@setmainfont{#8,BoldFont=#5}{#2}% + \zxjf@setsansfont{#8,BoldFont=#5}{#5}% + \zxjf@setmonofont{#8,BoldFont=#5}{#5}% \else\ifzxjf@oneweight - \zxjf@setmainfont{#6,BoldFont=#5}{#1}% - \zxjf@setsansfont{#6,BoldFont=#5}{#5}% - \zxjf@setmonofont{#6,BoldFont=#5}{#5}% + \zxjf@setmainfont{#8,BoldFont=#7}{#2}% + \zxjf@setsansfont{#8,BoldFont=#7}{#7}% + \zxjf@setmonofont{#8,BoldFont=#7}{#7}% + \else\ifzxjf@threeweight + \zxjf@setmainfont{#8,BoldFont=#3, + FontFace={l}{n}{#1}}{#2}% + \zxjf@setsansfont{#8,BoldFont=#5, + FontFace={eb}{n}{#6}}{#4}% + \zxjf@setmonofont{#8,BoldFont=#5, + FontFace={eb}{n}{#6}}{#4}% \else - \zxjf@setmainfont{#6,BoldFont=#2}{#1}% - \zxjf@setsansfont{#6,BoldFont=#4}{#3}% - \zxjf@setmonofont{#6,BoldFont=#4}{#3}% - \fi\fi} + \zxjf@setmainfont{#8,BoldFont=#3}{#2}% + \zxjf@setsansfont{#8,BoldFont=#5}{#4}% + \zxjf@setmonofont{#8,BoldFont=#5}{#4}% + \fi\fi\fi} %% \zxjf@declare@preset@with@prop{}{} \zxjf@onlypreamble@def\zxjf@declare@preset@with@prop#1#2{% \zxjf@declare@preset{#1}{#2{RawFeature=-palt;-kern}}% @@ -287,94 +334,94 @@ \zxjf@declare@preset{ms/prop}{% \zxjf@uniweight{MS-PMincho}{MS-PGothic}{}} \zxjf@declare@preset{ms-hg}{% - \zxjf@multiweight{MS-Mincho}{HGMinchoE}% - {HGGothicM}{HGGothicE}{MS-Gothic}{}} + \zxjf@multiweight{MS-Mincho}{MS-Mincho}{HGMinchoE}% + {HGGothicM}{HGGothicE}{hgrsgu.ttc}{MS-Gothic}{}} \zxjf@declare@preset{ms-hg/prop}{% - \zxjf@multiweight{MS-PMincho}{HGPMinchoE}% - {HGPGothicM}{HGGothicE}{MS-PGothic}{}} + \zxjf@multiweight{MS-PMincho}{MS-PMincho}{HGPMinchoE}% + {HGPGothicM}{HGGothicE}{hgrsgu.ttc}{MS-PGothic}{}} \zxjf@declare@preset{ipa}{% \zxjf@uniweight{IPAMincho}{IPAGothic}{}} \zxjf@declare@preset{ipa/prop}{% \zxjf@uniweight{IPAPMincho}{IPAPGothic}{}} \zxjf@declare@preset{ipa-hg}{% - \zxjf@multiweight{IPAMincho}{HGMinchoE}% - {HGGothicM}{HGGothicE}{IPAGothic}{}} + \zxjf@multiweight{IPAMincho}{IPAMincho}{HGMinchoE}% + {HGGothicM}{HGGothicE}{hgrsgu.ttc}{IPAGothic}{}} \zxjf@declare@preset{ipa-hg/prop}{% - \zxjf@multiweight{IPAPMincho}{HGPMinchoE}% - {HGPGothicM}{HGGothicE}{IPAPGothic}{}} + \zxjf@multiweight{IPAPMincho}{IPAPMincho}{HGPMinchoE}% + {HGPGothicM}{HGGothicE}{hgrsgu.ttc}{IPAPGothic}{}} \zxjf@declare@preset{ipaex}{% \zxjf@uniweight{ipaexm.ttf}{ipaexg.ttf}{}} \zxjf@declare@preset{ipaex-hg}{% - \zxjf@multiweight{ipaexm.ttf}{HGSMinchoE}% - {HGSGothicM}{HGSGothicE}{ipaexg.ttf}{}} + \zxjf@multiweight{ipaexm.ttf}{ipaexm.ttf}{HGSMinchoE}% + {HGSGothicM}{HGSGothicE}{hgrsgu.ttc}{ipaexg.ttf}{}} \zxjf@declare@preset{moga}{% - \zxjf@multiweight{MogaExMincho}{MogaExMincho Bold}% - {MogaExGothic}{MogaExGothic Bold}{MogaExGothic}{}} + \zxjf@multiweight{MogaExMincho}{MogaExMincho}{MogaExMincho Bold}% + {MogaExGothic}{MogaExGothic Bold}{MogaExGothic Bold}{MogaExGothic}{}} \zxjf@declare@preset{moga-90}{% - \zxjf@multiweight{MogaEx90Mincho}{MogaEx90Mincho Bold}% - {MogaEx90Gothic}{MogaEx90Gothic Bold}{MogaEx90Gothic}{}} + \zxjf@multiweight{MogaEx90Mincho}{MogaEx90Mincho}{MogaEx90Mincho Bold}% + {MogaEx90Gothic}{MogaEx90Gothic Bold}{MogaEx90Gothic Bold}{MogaEx90Gothic}{}} \zxjf@declare@preset{ume}{% - \zxjf@multiweight{Ume Mincho}{Ume Mincho}% - {Ume Gothic}{Ume Gothic O5}{Ume Gothic O5}{}} + \zxjf@multiweight{Ume Mincho}{Ume Mincho}{Ume Mincho}% + {Ume Gothic}{Ume Gothic O5}{Ume Gothic O5}{Ume Gothic O5}{}} \zxjf@declare@preset@with@prop{kozuka-pro}{% - \zxjf@multiweight{KozMinPro-Regular}{KozMinPro-Bold}% - {KozGoPro-Regular}{KozGoPro-Bold}% + \zxjf@multiweight{KozMinPro-Light}{KozMinPro-Regular}{KozMinPro-Bold}% + {KozGoPro-Regular}{KozGoPro-Bold}{KozGoPro-Heavy}% {KozGoPro-Medium}} \zxjf@declare@preset@with@prop{kozuka-pr6}{% - \zxjf@multiweight{KozMinProVI-Regular}{KozMinProVI-Bold}% - {KozGoProVI-Regular}{KozGoProVI-Bold}% + \zxjf@multiweight{KozMinProVI-Light}{KozMinProVI-Regular}{KozMinProVI-Bold}% + {KozGoProVI-Regular}{KozGoProVI-Bold}{KozGoProVI-Heavy}% {KozGoProVI-Medium}} \zxjf@declare@preset@with@prop{kozuka-pr6n}{% - \zxjf@multiweight{KozMinPr6N-Regular}{KozMinPr6N-Bold}% - {KozGoPr6N-Regular}{KozGoPr6N-Bold}% + \zxjf@multiweight{KozMinPr6N-Light}{KozMinPr6N-Regular}{KozMinPr6N-Bold}% + {KozGoPr6N-Regular}{KozGoPr6N-Bold}{KozGoPr6N-Heavy}% {KozGoPr6N-Medium}} \zxjf@declare@preset@with@prop{hiragino-pro}{% - \zxjf@multiweight{Hiragino Mincho Pro W3}{Hiragino Mincho Pro W6}% - {Hiragino Kaku Gothic Pro W3}{Hiragino Kaku Gothic Pro W6}% + \zxjf@multiweight{Hiragino Mincho Pro W2}{Hiragino Mincho Pro W3}{Hiragino Mincho Pro W6}% + {Hiragino Kaku Gothic Pro W3}{Hiragino Kaku Gothic Pro W6}{Hiragino Kaku Gothic Std W8}% {Hiragino Kaku Gothic Pro W6}} \zxjf@declare@preset@with@prop{hiragino-pron}{% - \zxjf@multiweight{Hiragino Mincho ProN W3}{Hiragino Mincho ProN W6}% - {Hiragino Kaku Gothic ProN W3}{Hiragino Kaku Gothic ProN W6}% + \zxjf@multiweight{Hiragino Mincho ProN W2}{Hiragino Mincho ProN W3}{Hiragino Mincho ProN W6}% + {Hiragino Kaku Gothic ProN W3}{Hiragino Kaku Gothic ProN W6}{Hiragino Kaku Gothic StdN W8}% {Hiragino Kaku Gothic ProN W6}} \zxjf@declare@preset@with@prop{morisawa-pro}{% - \zxjf@multiweight{A-OTF-RyuminPro-Light.otf}{A-OTF-FutoMinA101Pro-Bold.otf}% - {A-OTF-GothicBBBPro-Medium.otf}{A-OTF-FutoGoB101Pro-Bold.otf}% + \zxjf@multiweight{A-OTF-RyuminPro-Light.otf}{A-OTF-RyuminPro-Light.otf}{A-OTF-FutoMinA101Pro-Bold.otf}% + {A-OTF-GothicBBBPro-Medium.otf}{A-OTF-FutoGoB101Pro-Bold.otf}{A-OTF-MidashiGoPro-MB31.otf}% {A-OTF-GothicBBBPro-Medium.otf}} \zxjf@declare@preset@with@prop{morisawa-pr6n}{% - \zxjf@multiweight{A-OTF-RyuminPr6N-Light.otf}{A-OTF-FutoMinA101Pr6N-Bold.otf}% - {A-OTF-GothicBBBPr6N-Medium.otf}{A-OTF-FutoGoB101Pr6N-Bold.otf}% + \zxjf@multiweight{A-OTF-RyuminPr6N-Light.otf}{A-OTF-RyuminPr6N-Light.otf}{A-OTF-FutoMinA101Pr6N-Bold.otf}% + {A-OTF-GothicBBBPr6N-Medium.otf}{A-OTF-FutoGoB101Pr6N-Bold.otf}{A-OTF-MidashiGoPr6N-MB31.otf}% {A-OTF-GothicBBBPr6N-Medium.otf}} \zxjf@declare@preset@with@prop{yu-win}{% - \zxjf@multiweight{YuMincho-Regular}{YuMincho-Demibold}% - {YuGothic-Regular}{YuGothic-Bold}% + \zxjf@multiweight{YuMincho-Light}{YuMincho-Regular}{YuMincho-Demibold}% + {YuGothic-Regular}{YuGothic-Bold}{YuGothic-Bold}% {YuGothic-Regular}} \zxjf@declare@preset@with@prop{yu-win10}{% - \zxjf@multiweight{YuMincho-Regular}{YuMincho-Demibold}% - {YuGothic-Regular}{YuGothic-Bold}% + \zxjf@multiweight{YuMincho-Light}{YuMincho-Regular}{YuMincho-Demibold}% + {YuGothic-Regular}{YuGothic-Bold}{YuGothic-Bold}% {YuGothic-Medium}} \zxjf@declare@preset@with@prop{yu-osx}{% - \zxjf@multiweight{YuMincho-Medium}{YuMincho-Demibold}% - {YuGothic-Medium}{YuGothic-Bold}% + \zxjf@multiweight{YuMincho-Medium}{YuMincho-Medium}{YuMincho-Demibold}% + {YuGothic-Medium}{YuGothic-Bold}{YuGothic-Bold}% {YuGothic-Medium}} \zxjf@declare@preset@with@prop{sourcehan}{% - \zxjf@multiweight{SourceHanSerif-Regular}{SourceHanSerif-Bold}% - {SourceHanSans-Regular}{SourceHanSans-Bold}% + \zxjf@multiweight{SourceHanSerif-Light}{SourceHanSerif-Regular}{SourceHanSerif-Bold}% + {SourceHanSans-Regular}{SourceHanSans-Bold}{SourceHanSans-Heavy}% {SourceHanSans-Medium}} \zxjf@declare@preset@with@prop{sourcehan-jp}{% - \zxjf@multiweight{SourceHanSerifJP-Regular}{SourceHanSerifJP-Bold}% - {SourceHanSansJP-Regular}{SourceHanSansJP-Bold}% + \zxjf@multiweight{SourceHanSerifJP-Light}{SourceHanSerifJP-Regular}{SourceHanSerifJP-Bold}% + {SourceHanSansJP-Regular}{SourceHanSansJP-Bold}{SourceHanSansJP-Heavy}% {SourceHanSansJP-Medium}} \zxjf@declare@preset@with@prop{noto}{% - \zxjf@multiweight{NotoSerifCJKjp-Regular}{NotoSerifCJKjp-Bold}% - {NotoSansCJKjp-Regular}{NotoSansCJKjp-Bold}% + \zxjf@multiweight{NotoSerifCJKjp-Light}{NotoSerifCJKjp-Regular}{NotoSerifCJKjp-Bold}% + {NotoSansCJKjp-Regular}{NotoSansCJKjp-Bold}{NotoSansCJKjp-Black}% {NotoSansCJKjp-Medium}} \zxjf@declare@preset@with@prop{noto-jp}{% - \zxjf@multiweight{NotoSerifJP-Regular}{NotoSerifJP-Bold}% - {NotoSansJP-Regular}{NotoSansJP-Bold}% + \zxjf@multiweight{NotoSerifJP-Light}{NotoSerifJP-Regular}{NotoSerifJP-Bold}% + {NotoSansJP-Regular}{NotoSansJP-Bold}{NotoSansJP-Black}% {NotoSansJP-Medium}} \zxjf@declare@preset@with@prop{haranoaji}{% - \zxjf@multiweight{HaranoAjiMincho-Regular}{HaranoAjiMincho-Bold}% - {HaranoAjiGothic-Regular}{HaranoAjiGothic-Bold}% + \zxjf@multiweight{HaranoAjiMincho-Light}{HaranoAjiMincho-Regular}{HaranoAjiMincho-Bold}% + {HaranoAjiGothic-Regular}{HaranoAjiGothic-Bold}{HaranoAjiGothic-Heavy}% {HaranoAjiGothic-Medium}} %(alias) \zxjf@declare@preset@alias@with@prop{kozuka}{kozuka-pro} @@ -429,6 +476,21 @@ %--------------------------------------- and some extras +\ifzxjf@threeweight + %%<*> \ltdefault/\ltseries + \def\ltdefault{l} + \DeclareRobustCommand\ltseries{% + \not@math@alphabet\ltseries\relax + \fontseries\ltdefault\selectfont + } + %%<*> \ebdefault/\ebseries + \def\ebdefault{eb} + \DeclareRobustCommand\ebseries{% + \not@math@alphabet\ebseries\relax + \fontseries\ebdefault\selectfont + } +\fi + %%<*> \useeasyjapanesesettings \newcommand*\useeasyjapanesesettings{% \XeTeXlinebreaklocale "ja"\relax diff --git a/language/japanese/zxjafont/zxjafont.tex b/language/japanese/zxjafont/zxjafont.tex index dbe9910589..038d54aaca 100644 --- a/language/japanese/zxjafont/zxjafont.tex +++ b/language/japanese/zxjafont/zxjafont.tex @@ -12,13 +12,14 @@ \bxtexlogoimport{*} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{0.7} -\newcommand{\PkgDate}{2020/01/18} +\newcommand{\PkgVersion}{1.0} +\newcommand{\PkgDate}{2020/02/02} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} \newcommand{\Means}{:\ } \newcommand{\JEmph}{\textgt} +\newcommand{\JSl}{\mbox{/}\linebreak[0]} %----------------------------------------------------------- \begin{document} \title{\Pkg{zxjafont} パッケージ(v\PkgVersion)} @@ -32,10 +33,10 @@ {\XeLaTeX}+\Pkg{fontspec}でのフォントファミリ名を直接指定する方式は 「好きなフォントを指定する」という点では、 {\pLaTeX}\>よりも格段に使い易いが、 -日本語を扱うためには必ず何らかの設定を行う必要があり、 +日本語を扱うためには必ず何らかのフォント設定を行う必要があり、 これが煩わしく感じられる場合もある。 -本パッケージでは、日本語{\LaTeX}\>において -一般的に行われている設定を予め用意しておいて、 +本パッケージでは、日本語\>{\LaTeX}\>において +一般的に行われている日本語用フォント設定を予め用意しておいて、 簡単に呼び出せるようにしている。 \paragraph{前提環境}\mbox{} @@ -59,29 +60,28 @@ \Meta{サブ設定}と\Meta{他オプション}は任意個数指定可能である。 もし\Pkg{fontspec}が未読込の場合は自動的に読み込む。 {\XeLaTeX}\>には和文と欧文の元来の区別がないので、 -このパッケージで指定するフォントが全ての文字に通用する。 -ただし、\Pkg{zxjatype}パッケージでは和文と欧文を区別するので、 -それと併用の場合は\JEmph{和文のみ}にフォント設定が適用される。 +このパッケージで指定するフォントが全ての文字に通用される。 +ただし、\Pkg{xeCJK}パッケージや\Pkg{zxjatype}パッケージの +日本語処理機能を利用する場合には和文と欧文が区別されるようになり、 +この場合は\JEmph{和文のみ}にフォント設定が適用される。 %------------------- \subsection{メイン設定} -総称ファミリの設定 -(\Pkg{fontspec}の |\setmainfont|、|\setsansfont|、|\setmonofont|) +総称ファミリに関する設定、すなわち、 +\Pkg{fontspec}の\>|\setmainfont|\JSl|\setsansfont|\JSl|\setmonofont|\>% +(\Pkg{xeCJK}\JSl\Pkg{zxjatype}併用時は\>% +|\setCJKmainfont|\JSl|\setCJKsansfont|\JSl|\setCJKmonofont|) を行うもの。 \Note 「メイン設定」は\Pkg{pxchfon}パッケージにおける 「プリセット設定」をそのまま -(ただし明朝・ゴシック2ウェイトに縮減して) 引き継いでいる。 -設定内容の詳細については、\Pkg{pxchfon}の説明書を -参照してほしい。 +設定内容の詳細については、 +\JEmph{\Pkg{pxchfon}の説明書を参照してほしい}。 -\Note かつての\Pkg{fontspec}では取り扱うフォントのウェイトが -通常(|\mdseries|)と太字(|\bfseries|)の2つに限られていた。 -現在の\Pkg{fontspec}では追加のウェイトがサポートされているが、 -残念ながら現状の\Pkg{zxjafont}はまだ3ウェイト以上の設定には -対応できていない。 +\Note 1.0版より、\Pkg{pxchfon}パッケージの多ウェイト設定について +明朝・ゴシックの3ウェイトが全てサポートされるようになった。 \paragraph{単ウェイト用の設定} 明朝・ゴシック各々1ウェイトのみを用いる設定。 @@ -99,13 +99,34 @@ IPAフォント。 \item |ipaex|\Means IPAexフォント。 \end{itemize} -\Note {\XeTeX}\>は「フォント非埋込のPDF生成」に対応していない。 +\Note {\XeTeX}\>は「フォント非埋込のPDF生成」に対応していないので、 +|noembed| 設定は存在しない。 + +例えば、メイン設定\>|ms|\>は以下の\Pkg{fontspec}の設定を行う: +\begin{quote}\small\begin{verbatim} +\setmainfont{MS-Mincho}[BoldFont=MS-Gothic] +\setsansfont{MS-Gothic}[BoldFont=MS-Gothic] +\setmonofont{MS-Gothic}[BoldFont=MS-Gothic] +\end{verbatim}\end{quote} +\Note \Pkg{xeCJK}\JSl\Pkg{zxjatype}読込時は和文用フォントの +設定(|\setCJKmainfont|\>等)に置き換わり、またこの場合は +和文スケール設定(|Scale|\>オプションキー)が追加される。 +これは以降で紹介する例についても同様である。 \paragraph{多ウェイト用の設定} -明朝・ゴシック各々2ウェイトを用いる設定。 -セリフに明朝、サンセリフと等幅にゴシックを割り当て、 -各々について通常(|\mdseries|)と太字(|\bfseries|) -を個別に設定する。 +セリフ(|\rmfamily|)に明朝、 +サンセリフ(|\sffamily|)と等幅(|\ttfamily|)にゴシックを割り当て、 +各々について中字(|\mdseries|)と太字(|\bfseries|)のフォントを +\Pkg{pxchfon}のプリセットと同様に個別に設定する。 + +さらに、|threeweight|\>オプションが有効の場合は、 +{p\LaTeX}\>の\Pkg{japanese-otf}で\>|deluxe|\>オプションを指定したときと +同様に、「明朝の細字(|\rmfamily\ltseries|)」と +「ゴシックの極太(|\sffamily\ebseries|)」が指定できるようになり、 +明朝とゴシックの各々について3ウェイトのフォントが +\Pkg{pxchfon}のプリセットと同様に個別に設定される。 +\Note |threeweight|\>オプションは通常は既定で有効になっている +(詳細は後述)。 \begin{itemize} \item |ms-hg|\Means @@ -119,7 +140,7 @@ IPAexフォント。 Mogaフォント(2004JIS字形)。 \Note MogaEx系統が用いられる。 \item |moga-90|\Means - Mogaフォント(90/2000JIS字形)。 + Mogaフォント(90\JSl 2000JIS字形)。 \Note MogaEx90系統が用いられる。 \item |ume|\Means 梅フォント。 @@ -161,9 +182,46 @@ IPAexフォント。 原ノ味フォント。 \end{itemize} +例えば\>|haranoaji|\>オプションについて説明すると、% +|threeweight|\>が有効の場合は以下の設定 +(3ウェイト)が行われる: +\begin{quote}\small\begin{verbatim} +\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold, + FontFace={l}{n}{HaranoAjiMincho-Light}] +\setsansfont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold, + FontFace={eb}{n}{HaranoAjiGothic-Heavy}] +\setmonofont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold, + FontFace={eb}{n}{HaranoAjiGothic-Heavy}] +\end{verbatim}\end{quote} + +|threeweight|\>が無効の場合は以下の設定 +(中字・太字のみの2ウェイト)が行われる: +\begin{quote}\small\begin{verbatim} +\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold] +\setsansfont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold] +\setmonofont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold] +\end{verbatim}\end{quote} + +|oneweight|\>オプション指定時は以下の設定 +(1ウェイトのみ)が行われる: +\begin{quote}\small\begin{verbatim} +\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Medium] +\setsansfont{HaranoAjiGothic-Medium}[BoldFont=HaranoAjiGothic-Medium] +\setmonofont{HaranoAjiGothic-Medium}[BoldFont=HaranoAjiGothic-Medium] +\end{verbatim}\end{quote} +\Note 他の例と異なりゴシックで“|HaranoAjiMincho-Medium|”% +(\Pkg{pxchfon}のマニュアルのプリセットの解説で\>|\setgothicfont|\>に +割り当てられているフォント)が使われていることに注意。 + +そして\>|bold|\>オプション指定時は以下の設定が行われる: +\begin{quote}\small\begin{verbatim} +\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold] +\setsansfont{HaranoAjiGothic-Bold}[BoldFont=HaranoAjiGothic-Bold] +\setmonofont{HaranoAjiGothic-Bold}[BoldFont=HaranoAjiGothic-Bold] +\end{verbatim}\end{quote} + \paragraph{他パッケージとの互換用のオプション} \mbox{} -%\Pkg{ptex-fontmaps}のプリセット名を別名として用意した。 \begin{itemize} \item |kozuka|\Means @@ -192,7 +250,8 @@ IPAexフォント。 0.5版において廃止された。 現在は指定するとエラーが発生する。 -\Note ただし |hiragino| は現在は |hiragino-pro| の別名と解釈される。 +\Note ただし |hiragino| については現在では |hiragino-pro| の別名と +解釈される。 \begin{quote} |kozuka4|、|kozuka6|、|kozuka6n|、|hiragino|、 @@ -235,9 +294,9 @@ Moboフォント(2004JIS字形)を使う設定。 \end{itemize} \item |mobo-90|\Means -Moboフォント(90/2000JIS字形)を使う設定。 +Moboフォント(90\JSl 2000JIS字形)を使う設定。 \begin{itemize} -\item |\mobofamily|\Means Moboフォント(90/2000JIS字形) +\item |\mobofamily|\Means Moboフォント(90\JSl 2000JIS字形) \end{itemize} \item |maruberi|\Means @@ -253,23 +312,31 @@ Moboフォント(90/2000JIS字形)を使う設定。 \begin{itemize} \item |oneweight|(または|nodeluxe|)\Means 多ウェイト用のメイン設定を単ウェイトとして用いる。 -\Note \Pkg{pxchfon}の説明書の記述において |\setminchofont| -と |\setgothicfont| で設定されているウェイトのフォント -が用いられる。 -\item |nooneweight|(または|deluxe|)\Means -|oneweight|の否定。 -\Note |(no)deluxe|は\Pkg{luatexja-preset}との互換の別名。 +\Note \Pkg{pxchfon}のマニュアルのプリセットの記述に +おいて\>|\setminchofont|\>と\>|\setgothicfont|\>で設定されている +ウェイトのフォントが用いられる。 +\item |nooneweight|(または|deluxe|;既定)\Means +|oneweight|\>の否定。 +\Note |(no)deluxe|\>は\Pkg{luatexja-preset}との互換の別名。 + +\item |threeweight|(既定)\Means +多ウェイト用のメイン設定を使う場合に3ウェイトを利用できるようにする。 +\item |nothreeweight|\Means +|threeweight|\>の否定。 +多ウェイト用のメイン設定は2ウェイトのみ使える。 +\Note 既定は\>|threeweight|\>であるが、使用中の\Pkg{fontspec}の版が +古くて追加ウェイトに対応できない場合は\>|nothreeweight|\>が既定になる。 \item |bold|\Means -|oneweight|と同じく多ウェイト用のメイン設定を単ウェイトとして用いるが、 +|oneweight|\>と同じく多ウェイト用のメイン設定を単ウェイトとして用いるが、 この際のゴシック体のフォントとして太字ウェイトに相当するものを用いる。 -\Note \Pkg{pxchfon}の説明書の記述における |\setminchofont| -と |\setboldgothicfont| のフォントが用いられる。 -\Note \Pkg{luatexja-preset}とは異なり、|bold|の指定自体が +\Note \Pkg{pxchfon}の説明書の記述における\>|\setminchofont|\>% +と\>|\setboldgothicfont|\>のフォントが用いられる。 +\Note \Pkg{luatexja-preset}とは異なり、|bold|\>の指定自体が 単ウェイト設定を強制する。 -|bold|と|oneweight|を同時に指定した場合は|bold|が優先する。 -\item |nobold|\Means -|bold|の否定。 +|bold|\>と\>|oneweight|\>を同時に指定した場合は\>|bold|\>が優先する。 +\item |nobold|(既定)\Means +|bold|\>の否定。 \item |prop|\Means プロポーショナル幅のフォントを用いる。 @@ -280,9 +347,10 @@ Moboフォント(90/2000JIS字形)を使う設定。 がある場合はそれを優先させている。 \Note \Pkg{zxjatype}を用いる場合は、 和文は等幅フォントを用いることが前提なので、 -このオプションは指定できない(エラーになる)。 -\item |noprop|\Means -|prop|の否定。 +このオプションは指定できずエラーになる。 +(現状では\Pkg{xeCJK}使用時も同じ。) +\item |noprop|(既定)\Means +|prop|\>の否定。 (和文が)等幅のフォントを用いる。 \item |scale=|\Meta{実数}\Means @@ -291,18 +359,26 @@ Moboフォント(90/2000JIS字形)を使う設定。 \Pkg{zxjatype}パッケージで指定されている場合はその値、 なければ1となる。 -\item |jis90|/|90jis|\Means +\item |jis90|\JSl|90jis|\Means 90JIS字形(2000JIS字形)の使用を指定する。 - -\item |jis2004|/|2004jis|\Means +\item |jis2004|\JSl|2004jis|\Means 2004JIS字形の使用を指定する。 - -\item |nojisshape|\Means +\item |nojisshape|(既定)\Means 特定のJIS字形の使用の指定を行わない。 +\item |ignorejatype|\Means +たとえ\Pkg{xeCJK}\JSl\Pkg{zxjatype}が読み込まれていたとしても +それらを無視して、「和文欧文の区別がない」前提の動作を行う。 +\Note この場合「プリセットで指定した日本語フォントが\JEmph{欧文のみ}に +適用される」という奇妙な動作になるため、このオプションの有用性は +ほぼないと思われる。 +\item |noignorejatype|(既定)\Means +|ignorejatype|\>の否定。 + \item |feature={|\Meta{属性リスト}|}|\Means このパッケージで指定されるフォント全てに通用する \Pkg{fontspec}の属性の指定。 +既定値は空。 \end{itemize} -- cgit v1.2.3