summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/japanese-otf-uptex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-05-13 21:52:41 +0000
committerKarl Berry <karl@freefriends.org>2018-05-13 21:52:41 +0000
commit056201c217eda00b26ae345567c1bab442455503 (patch)
tree8088bfc21cf59dd2724300662f837f7e574d42f8 /Master/texmf-dist/source/fonts/japanese-otf-uptex
parentda2561317998893b06f0278dbca82b14d7e9a014 (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/japanese-otf-uptex')
-rw-r--r--Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-h.pl1
-rw-r--r--Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubase-v.pl1
-rw-r--r--Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-h.pl1
-rw-r--r--Master/texmf-dist/source/fonts/japanese-otf-uptex/basepl/ubrsg-v.pl1
-rwxr-xr-xMaster/texmf-dist/source/fonts/japanese-otf-uptex/script/mkutf32list.pl43
-rwxr-xr-xMaster/texmf-dist/source/fonts/japanese-otf-uptex/script/umkpkana.pl56
-rwxr-xr-xMaster/texmf-dist/source/fonts/japanese-otf-uptex/script/umkvpkana.pl7
-rwxr-xr-xMaster/texmf-dist/source/fonts/japanese-otf-uptex/umakeotf_prop2
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