diff options
author | Karl Berry <karl@freefriends.org> | 2018-05-13 21:52:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-05-13 21:52:41 +0000 |
commit | 056201c217eda00b26ae345567c1bab442455503 (patch) | |
tree | 8088bfc21cf59dd2724300662f837f7e574d42f8 /Master/texmf-dist/source/fonts | |
parent | da2561317998893b06f0278dbca82b14d7e9a014 (diff) |
japanese-otf-uptex (13may18)
git-svn-id: svn://tug.org/texlive/trunk@47702 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/fonts')
8 files changed, 78 insertions, 34 deletions
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 <<END_OF_DATA; ) (CHARSINTYPE O 6 ? ! + $type6add + ) +END_OF_DATA +print JPL <<END_OF_DATA if ($hk_mode) ; ## Halfwidth Katakana +(CHARSINTYPE O 7 + UFF61 UFF62 UFF63 UFF64 UFF65 UFF66 UFF67 + UFF68 UFF69 UFF6A UFF6B UFF6C UFF6D UFF6E UFF6F + UFF70 UFF71 UFF72 UFF73 UFF74 UFF75 UFF76 UFF77 + UFF78 UFF79 UFF7A UFF7B UFF7C UFF7D UFF7E UFF7F + UFF80 UFF81 UFF82 UFF83 UFF84 UFF85 UFF86 UFF87 + UFF88 UFF89 UFF8A UFF8B UFF8C UFF8D UFF8E UFF8F + UFF90 UFF91 UFF92 UFF93 UFF94 UFF95 UFF96 UFF97 + UFF98 UFF99 UFF9A UFF9B UFF9C UFF9D UFF9E UFF9F ) END_OF_DATA } sub print_type_jis{ @type_width=($font_at, $half_width, $half_width, $half_width, $half_width, $font_at, $font_at); - for ($k=0; $k<=6; $k++){ + if ($hk_mode) { push @type_width, $half_width; } + for ($k=0; $k<$n_fixed; $k++){ printf JPL "(TYPE H %x\n", $k; printf JPL " (CHARWD R %f)\n", $type_width[$k]; &char_foot_h; @@ -229,7 +259,7 @@ sub write_char { if (&is_ucs_kigo){&print_kigo_char;} elsif(&is_ucs_hira){&print_kana_char;} elsif(&is_ucs_kata){&print_kana_char;} - elsif(&is_ucs_hankana && $direction eq "y"){&print_hankana_char;} + elsif(&is_ucs_hankana && $hk_mode){&print_hankana_char;} else{&print_char;} } } @@ -292,6 +322,14 @@ sub print_kana_char{ print OVP " )\n"; print OVP " )\n"; } +sub print_hankana_char{ + printf OVP "(CHARACTER H %X\n", $dvicode; + printf OVP " (CHARWD R %f)\n", $half_width; + print OVP " (MAP\n"; + printf OVP " (SETCHAR H %X)\n",$dvicode; + print OVP " )\n"; + print OVP " )\n"; +} sub chars_in_type_prop{ %char_width_hash=(); for ($j=0; $j<@character; $j++){ @@ -307,7 +345,7 @@ sub chars_in_type_prop{ $x = '-'; @uniq_char_width_array = grep( $_ ne $x && ($x = $_), sort values(%char_width_hash)); for ($j=0; $j<=$#uniq_char_width_array; $j++){ - printf JPL "(CHARSINTYPE H %X\n",($j+7); + printf JPL "(CHARSINTYPE H %X\n",($j+$n_fixed); print JPL " "; @char_in_this_type = (); while (($name, $value) = each(%char_width_hash)) { @@ -326,7 +364,7 @@ sub chars_in_type_prop{ sub print_type_prop{ for ($j=0; $j<=$#uniq_char_width_array; $j++){ $char_width=$uniq_char_width_array[$j]; - printf JPL "(TYPE H %X\n", ($j+7); + printf JPL "(TYPE H %X\n", ($j+$n_fixed); printf JPL " (CHARWD R %f)\n", $char_width; &char_foot_h; } diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkvpkana.pl b/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkvpkana.pl index a7095628a29..c9f39bffe83 100755 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkvpkana.pl +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/script/umkvpkana.pl @@ -119,6 +119,7 @@ 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; + 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; @@ -152,12 +153,13 @@ sub glue_kern{ 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 = "— … ‥"; } @@ -182,6 +184,7 @@ print JPL <<END_OF_DATA; ) (CHARSINTYPE O 6 ? ! + $type6add ) END_OF_DATA } @@ -231,7 +234,7 @@ sub write_char { if (&is_ucs_kigo){&print_kigo_char;} elsif(&is_ucs_hira){&print_kana_char;} elsif(&is_ucs_kata){&print_kana_char;} - elsif(&is_ucs_hankana && $direction eq "y"){&print_hankana_char;} +# elsif(&is_ucs_hankana && $hk_mode){&print_hankana_char;} else{&print_char;} } } diff --git a/Master/texmf-dist/source/fonts/japanese-otf-uptex/umakeotf_prop b/Master/texmf-dist/source/fonts/japanese-otf-uptex/umakeotf_prop index 5088696713d..378429ed44b 100755 --- a/Master/texmf-dist/source/fonts/japanese-otf-uptex/umakeotf_prop +++ b/Master/texmf-dist/source/fonts/japanese-otf-uptex/umakeotf_prop @@ -18,7 +18,7 @@ mkdir ovp fi echo "making proportional kana tfm/vf ..." -perl -s script/umkpkana.pl -sp=1 +perl -s script/umkpkana.pl -sp=1 -hk perl -s script/umkvpkana.pl -sp=1 for face in minw3 minw6 kakuw3 kakuw6 maruw4 |