From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/t2/enc-maps/make-enc.pl | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 macros/latex/contrib/t2/enc-maps/make-enc.pl (limited to 'macros/latex/contrib/t2/enc-maps/make-enc.pl') diff --git a/macros/latex/contrib/t2/enc-maps/make-enc.pl b/macros/latex/contrib/t2/enc-maps/make-enc.pl new file mode 100644 index 0000000000..8e141a2bb6 --- /dev/null +++ b/macros/latex/contrib/t2/enc-maps/make-enc.pl @@ -0,0 +1,48 @@ +#!/usr/bin/perl + +$enc2uni=$ARGV[0]; +$encname=$ARGV[1]; +shift;shift; +$glyph2uni=join("', `",@ARGV); + +while(<>) { + if ($_ =~ /^#/) { next } + s/(....);([^;]*);/$glyphenc{$1}=$2/e; +} + +print <<"ENDHEADER"; +% This file is generated from `$enc2uni' and `$glyph2uni' +% +% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ; +% LIGKERN greater greater =: guillemotright ; +% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ; +% +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% +/${encname}Encoding [ +ENDHEADER + +$n=0; +open(ENC2UNI,$enc2uni); +while() { + if ($_ =~ /^#/) { next } + s/(..);([^;]*);/$codeenc=$1;$codeuni=$2/e; + if ($n % 16 == 0) { printf "%% 0x%02X\n",$n } + $n++; + if ($glyphenc{$codeuni} ne "") { + print "/$glyphenc{$codeuni}\n"; + } else { + print "/.notdef\n"; + } +} +close(ENC2UNI); + +print "] def\n"; -- cgit v1.2.3