From 056201c217eda00b26ae345567c1bab442455503 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 13 May 2018 21:52:41 +0000 Subject: japanese-otf-uptex (13may18) git-svn-id: svn://tug.org/texlive/trunk@47702 c570f23f-e606-0410-a88d-b1316a301751 --- .../fonts/japanese-otf-uptex/basepl/ubase-h.pl | 1 + .../fonts/japanese-otf-uptex/basepl/ubase-v.pl | 1 + .../fonts/japanese-otf-uptex/basepl/ubrsg-h.pl | 1 + .../fonts/japanese-otf-uptex/basepl/ubrsg-v.pl | 1 + .../fonts/japanese-otf-uptex/script/mkutf32list.pl | 43 ++++++++--------- .../fonts/japanese-otf-uptex/script/umkpkana.pl | 56 ++++++++++++++++++---- .../fonts/japanese-otf-uptex/script/umkvpkana.pl | 7 ++- .../source/fonts/japanese-otf-uptex/umakeotf_prop | 2 +- 8 files changed, 78 insertions(+), 34 deletions(-) (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-h.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-h.pl index febaa03e8b9..b0db092336d 100644 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-h.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-h.pl @@ -90,6 +90,7 @@ ) (CHARSINTYPE O 6 ? ! + U203C U2047 U2048 U2049 ) (CHARSINTYPE O 7 UFF61 UFF62 UFF63 UFF64 UFF65 UFF66 UFF67 diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-v.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-v.pl index b14032c76a0..48ef4396428 100644 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-v.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-v.pl @@ -80,6 +80,7 @@ ) (CHARSINTYPE O 6 ? ! + U203C U2047 U2048 U2049 ) (TYPE O 0 (CHARWD R 1.0) diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-h.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-h.pl index 8e0768f7c7e..787bf0a3e51 100644 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-h.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-h.pl @@ -105,6 +105,7 @@ ) (CHARSINTYPE O 6 ? ! + U203C U2047 U2048 U2049 ) (CHARSINTYPE O 7 UFF61 UFF62 UFF63 UFF64 UFF65 UFF66 UFF67 diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-v.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-v.pl index 8606b47040d..7a5afbf9e35 100644 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-v.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-v.pl @@ -95,6 +95,7 @@ ) (CHARSINTYPE O 6 ? ! + U203C U2047 U2048 U2049 ) (CHARSINTYPE O 7 、 , diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/mkutf32list.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/mkutf32list.pl index 82b60bbcb51..b71dc60947f 100755 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/mkutf32list.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/mkutf32list.pl @@ -25,7 +25,6 @@ This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex). use strict; use encoding 'utf8'; -use feature 'switch'; our ($style, $allrange); our (@count, %reset_ch, $icollec, $cid2code, $line); @@ -47,23 +46,25 @@ if (/cid2code/) { $cid2code=~s/^#/%/; } -if ($.<8 & /((Adobe-(?:Japan|CNS|GB|Korea).*)-\d)\s/) { +if ($.<8 && /((Adobe-(?:Japan|CNS|GB|Korea).*)-\d)\s/) { $collection_n=$1; $collection=$2; - given($collection) { - when (/cns/i) { @cid_max = qw/-1 14098 17407 17600 18845 18964 19087 19155 19178/; - $utfmac="UTFT"; $cmap="UniCNS-UTF32"; - $source="Adobe-CNS1-7/cid2code.txt"; } - when (/gb/i) { @cid_max = qw/-1 7716 9896 22126 22352 29063 30283/; - $utfmac="UTFC"; $cmap="UniGB-UTF32"; - $source="Adobe-GB1-5/cid2code.txt"; } - when (/kor/i) { @cid_max = qw/-1 9332 18154 18351/; - $utfmac="UTFK"; $cmap="UniKS-UTF32"; - $source="Adobe-Korea1-2/cid2code.txt"; } - default { @cid_max = qw/-1 8283 8358 8719 9353 15443 20316 23057/; - $utfmac="UTF"; $cmap="UniJIS-UTF32"; - $source="Adobe-Japan1-6/cid2code.txt"; } - } + if ($collection =~ /cns/i) { + @cid_max = qw/-1 14098 17407 17600 18845 18964 19087 19155 19178/; + $utfmac="UTFT"; $cmap="UniCNS-UTF32"; + $source="Adobe-CNS1-7/cid2code.txt"; } + elsif ($collection =~ /gb/i) { + @cid_max = qw/-1 7716 9896 22126 22352 29063 30283/; + $utfmac="UTFC"; $cmap="UniGB-UTF32"; + $source="Adobe-GB1-5/cid2code.txt"; } + elsif ($collection =~ /kor/i) { + @cid_max = qw/-1 9332 18154 18351/; + $utfmac="UTFK"; $cmap="UniKS-UTF32"; + $source="Adobe-Korea1-2/cid2code.txt"; } + else { + @cid_max = qw/-1 8283 8358 8719 9353 15443 20316 23057/; + $utfmac="UTF"; $cmap="UniJIS-UTF32"; + $source="Adobe-Japan1-6/cid2code.txt"; } } next if (/^#/); @@ -141,12 +142,10 @@ END { } $i++; - given($style) { - when (/utf/) { $out=sprintf "\\${utfmac}{%X}", $ch; } - when (/kchar/) { $out=sprintf "\\kchar\"%X", $ch; } - when (/list/) { $out=sprintf "%X", $ch; } - default { $out=chr($ch); } - } + if ($style =~ /utf/) { $out=sprintf "\\${utfmac}{%X}", $ch; } + elsif ($style =~ /kchar/) { $out=sprintf "\\kchar\"%X", $ch; } + elsif ($style =~ /list/) { $out=sprintf "%X", $ch; } + else { $out=chr($ch); } my ($newline); $newline = $allrange ? 25 : 10; if ($i % $newline != 1) { diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkpkana.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkpkana.pl index 081eab8bbf6..09d0c095a95 100755 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkpkana.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkpkana.pl @@ -49,12 +49,17 @@ closedir(VF); closedir(JPL); closedir(JFM); +$n_fixed=7; ## type 0..6 $ucs=1; # 1: upphiraXXX or 0: phiraXXX if ($ucs) { $CheckDVICode::is_ucs=1; foreach(@font_name, @kanji_font_name) { $_="up$_"; } + if ($hk) { ## command line option -hk: Enable halfwidth katakana + $hk_mode=1; + $n_fixed=8; ## type 0..7 + } } #main @@ -108,7 +113,7 @@ sub glue_kern{ print JPL " (KRN O 5 R 0.0)\n"; print JPL " (LABEL O 0)\n"; for ($char=0; $char<=$#uniq_char_width_array; $char++){ - printf JPL " (LABEL H %X)\n",($char+7); + printf JPL " (LABEL H %X)\n",($char+$n_fixed); } printf JPL " (GLUE O 1 R %f R 0.0 R %f)\n", $half_width, $half_width; print JPL " (LABEL O 1)\n"; @@ -117,12 +122,20 @@ sub glue_kern{ print JPL " (LABEL O 2)\n"; printf JPL " (GLUE O 5 R %f R 0.0 R %f)\n", $half_width, $half_width; printf JPL " (GLUE O 6 R %f R 0.0 R %f)\n", $half_width, $half_width; + printf JPL " (GLUE O 7 R %f R 0.0 R %f)\n", $half_width, $half_width if $hk_mode; + print JPL " (STOP)\n"; + if ($hk_mode) { + print JPL " (LABEL O 7)\n"; + printf JPL " (GLUE O 1 R %f R 0.0 R %f)\n", $half_width, $half_width; + printf JPL " (GLUE O 3 R %f R 0.0 R %f)\n", $quater_width, $quater_width; + print JPL " (STOP)\n"; + } print JPL " (LABEL O 6)\n"; printf JPL " (GLUE O 0 R %f R 0.0 R %f)\n", $half_width, $half_width; printf JPL " (GLUE O 1 R %f R 0.0 R %f)\n", $half_width, $half_width; printf JPL " (GLUE O 3 R %f R 0.0 R %f)\n", $quater_width, $quater_width; for ($char=0; $char<=$#uniq_char_width_array; $char++){ - printf JPL " (GLUE H %X R %f R 0.0 R %f)\n",($char+7), $half_width, $half_width; + printf JPL " (GLUE H %X R %f R 0.0 R %f)\n",($char+$n_fixed), $half_width, $half_width; } print JPL " (STOP)\n"; print JPL " (LABEL O 4)\n"; @@ -131,8 +144,9 @@ sub glue_kern{ printf JPL " (GLUE O 3 R %f R 0.0 R %f)\n", $half_width+$quater_width, $quater_width; printf JPL " (GLUE O 5 R %f R 0.0 R 0.0)\n", $half_width; printf JPL " (GLUE O 6 R %f R 0.0 R 0.0)\n", $half_width; + printf JPL " (GLUE O 7 R %f R 0.0 R %f)\n", $half_width, $half_width if $hk_mode; for ($char=0; $char<=$#uniq_char_width_array; $char++){ - printf JPL " (GLUE H %X R %f R 0.0 R 0.0)\n",($char+7), $half_width; + printf JPL " (GLUE H %X R %f R 0.0 R 0.0)\n",($char+$n_fixed), $half_width; } print JPL " (STOP)\n"; print JPL " (LABEL O 3)\n"; @@ -143,19 +157,21 @@ sub glue_kern{ printf JPL " (GLUE O 4 R %f R 0.0 R %f)\n", $quater_width, $quater_width; printf JPL " (GLUE O 5 R %f R 0.0 R %f)\n", $quater_width, $quater_width; printf JPL " (GLUE O 6 R %f R 0.0 R %f)\n", $quater_width, $quater_width; + printf JPL " (GLUE O 7 R %f R 0.0 R %f)\n", $half_width, $half_width if $hk_mode; for ($char=0; $char<=$#uniq_char_width_array; $char++){ - printf JPL " (GLUE H %X R %f R 0.0 R %f)\n",($char+7), $quater_width, $quater_width; + printf JPL " (GLUE H %X R %f R 0.0 R %f)\n",($char+$n_fixed), $quater_width, $quater_width; } print JPL " (STOP)\n"; print JPL " )\n"; } sub chars_in_type_jis{ - my ($type1add, $type2add, $type3add, $type5)=(); + my ($type1add, $type2add, $type3add, $type5, $type6add)=(); if ($ucs) { $type1add = "UFF5F U3018 U3016 U301D U00AB U2329 U301A"; $type2add = "UFF60 U3019 U3017 U301F U00BB U232A U301B U301E"; $type3add = "U00B7"; $type5 = "— ― … ‥"; + $type6add = "U203C U2047 U2048 U2049"; } else { $type5 = "— … ‥"; } @@ -180,12 +196,26 @@ print JPL <