OSDN Git Service

updated documents, avoid errors in non-embedded fonts
[luatex-ja/luatexja.git] / test / test16-preset.tex
index 9ca5a55..71b2c76 100644 (file)
@@ -1,49 +1,85 @@
 %#!lualatex test16-preset && pdffonts test16-preset.pdf
-\documentclass{ltjsarticle}
-
-\usepackage[kozuka6n,jis2004,deluxe]{luatexja-preset}
-
-% deluxe: 丸ゴシック体 + 多ウェイト
-% bold: mc/bx を太ゴシック体にする.non-deluxe のときは,gt/m もそうする
-% expert: 横組専用仮名.と \rubyfamily
-
-% jis, ujis : jfm-jis.lua (resp. jfm-ujis.lua) を使う.
-%   min は横組専用仮名に対応してないので *今は* 封印
-% 90jis, jis2004
-
-% 非埋込
-% 小塚:kozuka4, kozuka6, kozuka6n
-% ヒラギノ:hiragino, hiraginon
-% モリサワ:morisawa4, morisawa6n
-%   ヒラギノ・モリサワは持ってないので未テスト
-% ipa, ipaex, ms
-
-% ipa-dx, ipaex-dx, ms-ex:HGゴシックM, HG明朝E,
-%   HGゴシックE,HG創英角ゴシックUB,HG丸ゴシック体PRO を使う.
-%   jis90, jis2004 のときはフォントファイルを変更することで効果を得ようとする.
-
-% TODO
-% ・PXchfon の \setminchofont などに相当する機能
-% ・非埋込でボールドフォントを出す場合のお決まりの指定はあるのだろうか?
-% ・スケーリングの手動指定機能.現状は自動設定
-% ・\ebseries の実装
+\documentclass{ltjtarticle}
+\makeatletter
+%\let\ltj@orig@DeclareFontShape@=\DeclareFontShape@
+%\def\DeclareFontShape@#1#2#3#4#5#6{%
+%      \immediate\typeout{DFS |#1|#2|#3|#4|#5|#6|}%
+%      \ltj@orig@DeclareFontShape@{#1}{#2}{#3}{#4}{#5}{#6}%
+%      }
+\usepackage[deluxe,expert,jis2004, match]{luatexja-preset}
+
+\ExplSyntaxOn
+\cs_new:Nn \__my_ltjpreset_kana_color: {FF00FF}
+\cs_new:Nn \__my_ltjpreset_kana_range: {"30A0-"30AF}
+\cs_new:Nn \ltjpreset_define_family_hook_nfssonly:nnn
+{
+    \__ltjpreset_declare_font_shape:nnnnnnn { JY3 }
+      { ltjp #1 \int_to_arabic:n { \g__ltjpreset_applycount_int }} { #2 } { nk }
+      { "#3" : jfm=\tl_use:N \__ltjpreset_use_jfm_yoko_tl }
+      { script=hani \bool_if:NT \g__ltjpreset_expert_bool { ;+hkna }
+               ; color=\__my_ltjpreset_kana_color: }
+      { \Cjascale }
+    \DeclareAlternateKanjiFont
+      { JY3 } { ltjp #1 \int_to_arabic:n { \g__ltjpreset_applycount_int }} { #2 } { n }
+      { JY3 } { ltjp #1 \int_to_arabic:n { \g__ltjpreset_applycount_int }} { #2 } { nk }
+      { \__my_ltjpreset_kana_range: }
+    \__ltjpreset_declare_font_shape:nnnnnnn { JT3 }
+      { ltjp #1 \int_to_arabic:n { \g__ltjpreset_applycount_int }} { #2 } { nk }
+      { "#3" : jfm=\tl_use:N \__ltjpreset_use_jfm_tate_tl }
+      { script=hani \bool_if:NT \g__ltjpreset_expert_bool { ;+vkna }
+               ; color=\__my_ltjpreset_kana_color: }
+      { \Cjascale }
+    \DeclareAlternateKanjiFont
+      { JT3 } { ltjp #1 \int_to_arabic:n { \g__ltjpreset_applycount_int }} { #2 } { n }
+      { JT3 } { ltjp #1 \int_to_arabic:n { \g__ltjpreset_applycount_int }} { #2 } { nk }
+      { \__my_ltjpreset_kana_range: }
+}
+\cs_new:Nn \ltjpreset_define_family_hook_fontspec:nnn {
+    AltFont={ { Range=\__my_ltjpreset_kana_range:, Color=\__my_ltjpreset_kana_color: } }
+}
+\ExplSyntaxOff
+\ltjnewpreset{mc}{} % error
+\ltjnewpreset{kozuka-pro}{} % error
+
+\ltjnewpreset{hoge}{ms}
+\ltjnewpreset{hoge}{} % error
+\ltjnewpreset*{hoge}{
+  kozuka-pr6n,
+  mc=SourceHanSerif-Regular,
+  mc-l=SourceHanSerif-Bold,
+  mc-m=KozMinPr6N-Regular,
+  mg-m=KozMinPr6N-Light,
+}
 
-\setmainjfont{HGKyokashotai}
+\makeatother
 
+\ltjapplypreset{hoge}
 \begin{document}
+\makeatletter
 \def\r#1#2{ \csname #1family \endcsname \csname #2series \endcsname
-  {\tt #1, #2: }あいうえおabc漢字,あ!い,辻
+  %\addjfontfeature {CJKShape=JIS1983}
+  {\romanfamily{\ttdefault}\selectfont<\k@family><\k@series><\k@shape>}\\
+  {\tt#1, #2\ \ \ \ \ }: あーいうえおabcアイ漢字,あ!い,辻ぁが\\
+  {\tt#1, #2 (rb)}: {\rubyfamily あーいうえおabcアイ漢字,あ!い,辻ぁが}
 }
+\@namedef{..series}{\relax}
+
+\ifdefined\ltseries
+\r{mc}{lt}
+\fi
 
 \r{mc}{md}
 
 \r{mc}{bf}
 
 
+\r{gt}{md}
 
-\r{sf}{md}
+\r{gt}{bf}
 
-\r{sf}{bf}
+\ifdefined\ebseries
+\r{gt}{eb}
+\fi
 
 \ifdefined\mgfamily
 \r{mg}{md}
 
 \r{tt}{bf}
 
+$あいう\mathgt{あいう}$
+
+\normalfont
+{あいうえおabc \sf あいうえおabc}
+
+\newpage
+あーいうえおabc漢字,あ!い,辻ぁが\\
+{\fontseries{bx}\selectfont あーいうえおabc漢字,あ!い,辻ぁが}\\
+{\fontseries{b}\selectfont あーいうえおabc漢字,あ!い,辻ぁが}
+
+\bfdefault
 
 \end{document}