summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/platex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-26 21:42:24 +0000
committerKarl Berry <karl@freefriends.org>2020-04-26 21:42:24 +0000
commit2ab030e67655c294df651d0b1b8d155af6832df2 (patch)
tree9c5a501453c67d1d0fded473b40c5745893d4634 /Master/texmf-dist/tex/platex
parent1990374c1e9958b0ebbce5d2b170bf659c24abe3 (diff)
jlreq-deluxe (26apr20)
git-svn-id: svn://tug.org/texlive/trunk@54894 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/platex')
-rw-r--r--Master/texmf-dist/tex/platex/jlreq-deluxe/jlreq-deluxe.sty167
1 files changed, 167 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/platex/jlreq-deluxe/jlreq-deluxe.sty b/Master/texmf-dist/tex/platex/jlreq-deluxe/jlreq-deluxe.sty
new file mode 100644
index 00000000000..323a701895f
--- /dev/null
+++ b/Master/texmf-dist/tex/platex/jlreq-deluxe/jlreq-deluxe.sty
@@ -0,0 +1,167 @@
+%%
+%% jlreq-deluxe.sty
+%%
+%% Copyright 2019-2020 Yukimasa Morimi (h20y6m)
+%% GitHub: https://github.com/h20y6m
+%%
+%% This package is distributed under the MIT License.
+%%
+
+% --------------------------------------------------
+
+\NeedsTeXFormat{pLaTeX2e}
+\RequirePackage{expl3}[2019-05-03]
+\ProvidesExplPackage {jlreq-deluxe} {2020-04-26} {0.3.1}
+ {Multi-weight Japanese font for jlreq class}
+
+% --------------------------------------------------
+% load packeges
+
+\RequirePackage{l3keys2e}
+
+% --------------------------------------------------
+% Variables
+
+\tl_new:N \l__jldx_prefix_tl
+\tl_new:N \l__jldx_scale_tl
+\bool_new:N \l__jldx_deluxe_bool
+\bool_new:N \l__jldx_jismmiv_bool
+\bool_new:N \l__jldx_uplatex_bool
+\bool_new:N \l__jldx_hanging_punctuation_bool
+\bool_new:N \l__jldx_zenkakunibu_nibu_bool
+
+% --------------------------------------------------
+% Messages
+
+\msg_new:nnn { jlreq-deluxe } { option-not-available }
+ { The~`#1'~option~is~not~available. }
+
+% --------------------------------------------------
+% Helpers
+
+\prg_new_conditional:Npnn \__jldx_if_class_loaded:n #1 { p , T , F , TF }
+ {
+ \@ifclassloaded {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+
+% --------------------------------------------------
+%% Options
+
+% options for japanese-otf package
+\keys_define:nn { jlreq-deluxe }
+ {
+ deluxe .bool_set:N = \l__jldx_deluxe_bool,
+ burasage .code:n =
+ {
+ \msg_error:nnn { jlreq-deluxe } { option-not-available }
+ { burasage }
+ },
+ jis2004 .bool_set:N = \l__jldx_jismmiv_bool,
+ uplatex .bool_set:N = \l__jldx_uplatex_bool,
+ scale .tl_set:N = \l__jldx_scale_tl,
+ }
+
+% options for this package
+\keys_define:nn { jlreq-deluxe }
+ {
+ hanging_punctuation .bool_set:N = \l__jldx_hanging_punctuation_bool,
+ zenkakunibu_nibu .bool_set:N = \l__jldx_zenkakunibu_nibu_bool,
+ }
+
+% unknown option
+\keys_define:nn { jlreq-deluxe }
+ {
+ unknown .code:n =
+ {
+ \PassOptionsToPackage { \CurrentOption } { pxjodel }
+ }
+ }
+
+% set default options
+\keys_set:nn { jlreq-deluxe }
+ {
+ deluxe = true,
+ jis2004 = true,
+ }
+
+% process options
+\ProcessKeysOptions { jlreq-deluxe }
+
+% --------------------------------------------------
+%% jlreq parameters
+
+\__jldx_if_class_loaded:nT { jlreq }
+ {
+ % uplatex
+ \sys_if_engine_uptex:T
+ {
+ \bool_set_true:N \l__jldx_uplatex_bool
+ }
+ % scale
+ \jlreq@divide { \jlreq@jafontsize } { \jlreq@fontsize }
+ \tl_set:Nx \l__jldx_scale_tl
+ {
+ \strip@pt \jlreq@resultdimen
+ }
+ % hanging_punctuation
+ \bool_set:Nn \l__jldx_zenkakunibu_nibu_bool
+ {
+ \str_if_eq_p:no { zenkakunibu_nibu } { \jlreq@open@bracket@pos }
+ }
+ % zenkakunibu_nibu
+ \bool_set:Nn \l__jldx_hanging_punctuation_bool
+ {
+ \legacy_if_p:n { jlreq@burasage }
+ }
+ }
+
+% --------------------------------------------------
+%% prefix
+
+\tl_set:Nn \l__jldx_prefix_tl { jlreq }
+
+% zenkakunibu_nibu
+\bool_if:NT \l__jldx_zenkakunibu_nibu_bool
+ {
+ \tl_put_left:Nn \l__jldx_prefix_tl { z }
+ }
+% hanging_punctuation
+\bool_if:NT \l__jldx_hanging_punctuation_bool
+ {
+ \tl_put_left:Nn \l__jldx_prefix_tl { b }
+ }
+
+% --------------------------------------------------
+% pxjodel
+
+% prefix
+\PassOptionsToPackage { prefix = \l__jldx_prefix_tl } { pxjodel }
+
+% deluxe
+\bool_if:NT \l__jldx_deluxe_bool
+ {
+ \PassOptionsToPackage { deluxe } { pxjodel }
+ }
+
+% jis2004
+\bool_if:NT \l__jldx_jismmiv_bool
+ {
+ \PassOptionsToPackage { jis2004 } { pxjodel }
+ }
+
+% uplatex
+\bool_if:NT \l__jldx_uplatex_bool
+ {
+ \PassOptionsToPackage { uplatex } { pxjodel }
+ }
+
+% scale
+\tl_if_empty:NF \l__jldx_scale_tl
+ {
+ \PassOptionsToPackage { scale = \l__jldx_scale_tl } { pxjodel }
+ }
+
+% load pxjodel package
+\RequirePackage{pxjodel}