summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty')
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty151
1 files changed, 84 insertions, 67 deletions
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty
index 7cb5ea7e3e0..55b373b045f 100644
--- a/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty
@@ -1,6 +1,6 @@
% xetexko-font.sty
%
-% Copyright (c) 2013-2016 Dohyun Kim <nomos at ktug org>
+% Copyright (c) 2013-2017 Dohyun Kim <nomos at ktug org>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -10,7 +10,7 @@
% and version 1.3c or later is part of all distributions of LaTeX
% version 2006/05/20 or later.
-\ProvidesPackage{xetexko-font}[2016/04/04 v2.15 LaTeX Font commands for XeTeX-ko]
+\ProvidesPackage{xetexko-font}[2017/02/06 v2.16 LaTeX Font commands for XeTeX-ko]
\let\xetexko@f@size\f@size
\RequirePackage{fontspec}[2014/05/25]
@@ -106,14 +106,6 @@
\tl_set_eq:NN \l_xtxko_font_opts_tl \l_xtxko_hanja_font_opts_init_tl
\keys_set_known:nxN { xtxko-font } {#1} \l_xtxko_rem_tl
}
-\cs_new:Nn \__xtxko_pass_args:nnn
- {
- \IfNoValueTF {#2}
- { \__xtxko_post_args:w {#1} {#3} }
- { #1 {#2} {#3} }
- }
-\NewDocumentCommand \__xtxko_post_args:w { m m O{} }
- { #1 {#3} {#2} }
\cs_new:Nn \__xtxko_def_XKhan__fonts:nnn
{
\tl_if_eq:NNF #1 \relax
@@ -142,68 +134,54 @@
}
%%%%%%%%%%%%%%%%%%%%
% user font commands
-\DeclareDocumentCommand \setmainhangulfont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setmainhangulfont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setmainhangulfont:nn
+\DeclareDocumentCommand \setmainhangulfont { O{} m O{} }
{
- \__xtxko_hangul_assign_font_opts:n {#1}
+ \__xtxko_hangul_assign_font_opts:n {#1,#3}
\newfontfamily \kormainfont [\l_xtxko_rem_tl] {#2}
\tl_put_right:NV \kormainfont \l_xtxko_font_opts_tl
\__xtxko_def_XKhan__fonts:nnn \XKhangulfont \rmdefault \kormainfont
\ignorespaces
}
-\DeclareDocumentCommand \setsanshangulfont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setsanshangulfont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setsanshangulfont:nn
+\DeclareDocumentCommand \setsanshangulfont { O{} m O{} }
{
- \__xtxko_hangul_assign_font_opts:n {#1}
+ \__xtxko_hangul_assign_font_opts:n {#1,#3}
\newfontfamily \korsansfont [\l_xtxko_rem_tl] {#2}
\tl_put_right:NV \korsansfont \l_xtxko_font_opts_tl
\__xtxko_def_XKhan__fonts:nnn \XKhangulfont \sfdefault \korsansfont
\ignorespaces
}
-\DeclareDocumentCommand \setmonohangulfont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setmonohangulfont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setmonohangulfont:nn
+\DeclareDocumentCommand \setmonohangulfont { O{} m O{} }
{
- \newfontfamily \kormonofont [#1] {#2}
+ \newfontfamily \kormonofont [#1,#3] {#2}
\__xtxko_def_XKhan__fonts:nnn \XKhangulfont \ttdefault \kormonofont
\ignorespaces
}
-\DeclareDocumentCommand \setmainhanjafont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setmainhanjafont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setmainhanjafont:nn
+\DeclareDocumentCommand \setmainhanjafont { O{} m O{} }
{
- \__xtxko_hanja_assign_font_opts:n {#1}
+ \__xtxko_hanja_assign_font_opts:n {#1,#3}
\newfontfamily \hnjmainfont [\l_xtxko_rem_tl] {#2}
\tl_put_right:NV \hnjmainfont \l_xtxko_font_opts_tl
\__xtxko_def_XKhan__fonts:nnn \XKhanjafont \rmdefault \hnjmainfont
\ignorespaces
}
-\DeclareDocumentCommand \setsanshanjafont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setsanshanjafont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setsanshanjafont:nn
+\DeclareDocumentCommand \setsanshanjafont { O{} m O{} }
{
- \__xtxko_hanja_assign_font_opts:n {#1}
+ \__xtxko_hanja_assign_font_opts:n {#1,#3}
\newfontfamily \hnjsansfont [\l_xtxko_rem_tl] {#2}
\tl_put_right:NV \hnjsansfont \l_xtxko_font_opts_tl
\__xtxko_def_XKhan__fonts:nnn \XKhanjafont \sfdefault \hnjsansfont
\ignorespaces
}
-\DeclareDocumentCommand \setmonohanjafont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setmonohanjafont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setmonohanjafont:nn
+\DeclareDocumentCommand \setmonohanjafont { O{} m O{} }
{
- \newfontfamily \hnjmonofont [#1] {#2}
+ \newfontfamily \hnjmonofont [#1,#3] {#2}
\__xtxko_def_XKhan__fonts:nnn \XKhanjafont \ttdefault \hnjmonofont
\ignorespaces
}
%% {hangul,hanja}fontspec = adhoc{hangul,hanja}font
-\DeclareDocumentCommand \adhochangulfont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_adhochangulfont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_adhochangulfont:nn
+\DeclareDocumentCommand \adhochangulfont { O{} m O{} }
{
- \__xtxko_hangul_assign_font_opts:n {#1}
+ \__xtxko_hangul_assign_font_opts:n {#1,#3}
\newfontfamily \XK@adhoc@hangul@font [\l_xtxko_rem_tl] {#2}
\tl_put_right:NV \XK@adhoc@hangul@font \l_xtxko_font_opts_tl
\tl_set:Nn \XKhangulfont
@@ -216,11 +194,9 @@
\ignorespaces
}
\cs_set_eq:NN \hangulfontspec \adhochangulfont
-\DeclareDocumentCommand \adhochanjafont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_adhochanjafont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_adhochanjafont:nn
+\DeclareDocumentCommand \adhochanjafont { O{} m O{} }
{
- \__xtxko_hanja_assign_font_opts:n {#1}
+ \__xtxko_hanja_assign_font_opts:n {#1,#3}
\newfontfamily \XK@adhoc@hanja@font [\l_xtxko_rem_tl] {#2}
\tl_put_right:NV \XK@adhoc@hanja@font \l_xtxko_font_opts_tl
\tl_set:Nn \XKhanjafont
@@ -234,11 +210,9 @@
}
\cs_set_eq:NN \hanjafontspec \adhochanjafont
%% new{hangul,hanja}font{family,face}
-\DeclareDocumentCommand \newhangulfontfamily { m o m }
- { \__xtxko_pass_args:nnn { \__xtxko_newhangulfontfamily:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xtxko_newhangulfontfamily:Nnn
+\DeclareDocumentCommand \newhangulfontfamily { m O{} m O{} }
{
- \__xtxko_hangul_assign_font_opts:n {#2}
+ \__xtxko_hangul_assign_font_opts:n {#2,#4}
\exp_args:Nc \newfontfamily { XK@newfont@family \token_to_str:N #1 }
[\l_xtxko_rem_tl] {#3}
\tl_put_right:cV { XK@newfont@family \token_to_str:N #1 }
@@ -254,11 +228,9 @@
}
}
}
-\DeclareDocumentCommand \newhanjafontfamily { m o m }
- { \__xtxko_pass_args:nnn { \__xtxko_newhanjafontfamily:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xtxko_newhanjafontfamily:Nnn
+\DeclareDocumentCommand \newhanjafontfamily { m O{} m O{} }
{
- \__xtxko_hanja_assign_font_opts:n {#2}
+ \__xtxko_hanja_assign_font_opts:n {#2,#4}
\exp_args:Nc \newfontfamily { XK@newfont@family \token_to_str:N #1 }
[\l_xtxko_rem_tl] {#3}
\tl_put_right:cV { XK@newfont@family \token_to_str:N #1 }
@@ -274,11 +246,9 @@
}
}
}
-\DeclareDocumentCommand \newhangulfontface { m o m }
- { \__xtxko_pass_args:nnn { \__xtxko_newhangulfontface:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xtxko_newhangulfontface:Nnn
+\DeclareDocumentCommand \newhangulfontface { m O{} m O{} }
{
- \__xtxko_hangul_assign_font_opts:n {#2}
+ \__xtxko_hangul_assign_font_opts:n {#2,#4}
\exp_args:Nc \newfontface { XK@newfont@family \token_to_str:N #1 }
[\l_xtxko_rem_tl] {#3}
\tl_put_right:cV { XK@newfont@family \token_to_str:N #1 }
@@ -294,11 +264,9 @@
}
}
}
-\DeclareDocumentCommand \newhanjafontface { m o m }
- { \__xtxko_pass_args:nnn { \__xtxko_newhanjafontface:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xtxko_newhanjafontface:Nnn
+\DeclareDocumentCommand \newhanjafontface { m O{} m O{} }
{
- \__xtxko_hanja_assign_font_opts:n {#2}
+ \__xtxko_hanja_assign_font_opts:n {#2,#4}
\exp_args:Nc \newfontface { XK@newfont@family \token_to_str:N #1 }
[\l_xtxko_rem_tl] {#3}
\tl_put_right:cV { XK@newfont@family \token_to_str:N #1 }
@@ -388,11 +356,9 @@
\tl_set_eq:NN \l_xtxko_hanja_font_opts_init_tl \l_xtxko_font_opts_tl
}
%% math hangul font
-\DeclareDocumentCommand \setmathhangulfont { o m }
- { \__xtxko_pass_args:nnn \__xtxko_setmathhangulfont:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_setmathhangulfont:nn
+\DeclareDocumentCommand \setmathhangulfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \xetexko@math@hangul@family {#1} {#2}
+ \fontspec_set_family:Nnn \xetexko@math@hangul@family {#1,#3} {#2}
}
%%%%%%%%%%%%%%%%%%%%
%% xetexkofontregime
@@ -407,13 +373,64 @@
hyphens .code:n = \use:c { #1hyphens } ,
cjksymbols .code:n = \use:c { #1cjksymbols } ,
}
-\DeclareDocumentCommand \xetexkofontregime { o m }
- { \__xtxko_pass_args:nnn \__xtxko_xetexkofontregime:nn {#1} {#2} }
-\cs_new:Nn \__xtxko_xetexkofontregime:nn
+\DeclareDocumentCommand \xetexkofontregime { O{} m O{} }
{
\use:c { #2marks }
- \keys_set:nn { xtxko-char } { #1 }
+ \keys_set:nn { xtxko-char } { #1,#3 }
+ }
+% fontspec 2017
+\RenewDocumentCommand \setmainfont { O{} m O{} }
+ {
+ \fontspec_set_family:Nnn \g__fontspec_rmfamily_family {#1,#3} {#2}
+ \tl_set_eq:NN \rmdefault \g__fontspec_rmfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \rmfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__fontspec_rmfamily_family }
+ \exp_not:N \selectfont
+ \exp_not:N \XK@rm@korean@font
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
+ }
+\RenewDocumentCommand \setsansfont { O{} m O{} }
+ {
+ \fontspec_set_family:Nnn \g__fontspec_sffamily_family {#1,#3} {#2}
+ \tl_set_eq:NN \sfdefault \g__fontspec_sffamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \sffamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__fontspec_sffamily_family }
+ \exp_not:N \selectfont
+ \exp_not:N \XK@sf@korean@font
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\sfdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
+ }
+\RenewDocumentCommand \setmonofont { O{} m O{} }
+ {
+ \fontspec_set_family:Nnn \g__fontspec_ttfamily_family {#1,#3} {#2}
+ \tl_set_eq:NN \ttdefault \g__fontspec_ttfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \ttfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__fontspec_ttfamily_family }
+ \exp_not:N \selectfont
+ \exp_not:N \XK@tt@korean@font \exp_not:N \disablehangulspacing
+ }
}
+ \str_if_eq_x:nnT {\familydefault} {\ttdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
+ }
+\cs_set_eq:NN \setromanfont \setmainfont
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -488,7 +505,7 @@
\edef\rmfamily{\unexpanded\expandafter{\rmfamily\XK@rm@korean@font}}
\edef\sffamily{\unexpanded\expandafter{\sffamily\XK@sf@korean@font}}
\edef\ttfamily{\unexpanded\expandafter{\ttfamily
- \XK@tt@korean@font\disablehangulspacing
+ \XK@tt@korean@font\disablehangulspacing
}}
\edef\verbatim@font{\unexpanded\expandafter{\verbatim@font
\disablehangulspacingandlinebreak