From 2ab030e67655c294df651d0b1b8d155af6832df2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 26 Apr 2020 21:42:24 +0000 Subject: jlreq-deluxe (26apr20) git-svn-id: svn://tug.org/texlive/trunk@54894 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/platex/jlreq-deluxe/jlreq-deluxe.sty | 167 +++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 Master/texmf-dist/tex/platex/jlreq-deluxe/jlreq-deluxe.sty (limited to 'Master/texmf-dist/tex/platex') 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} -- cgit v1.2.3