Merge pull request #485 from KLayout/issue-477

Fixed #477
This commit is contained in:
Matthias Köfferlein 2020-01-23 18:41:03 +01:00 committed by GitHub
commit ab32f260b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 93 additions and 1 deletions

78
scripts/jhf2c.pl Executable file
View File

@ -0,0 +1,78 @@
#!/usr/bin/perl
use strict;
my $name;
while ($name = shift) {
my $num;
my $ch = 32;
my @EDG;
my @INFO;
open JHF, "<$name.jhf" or die "cannot open $name.jhf";
my $yymax = 0; my $yymin = 0;
LP: while (read (JHF,$num,5) > 0) {
my $n;
if (read (JHF,$n,3) < 3) {
last LP;
}
my $starti = @EDG;
my $c1;
my $c2;
read (JHF,$c1,1);
read (JHF,$c2,1);
my $x1 = ord ($c1);
my $x2 = ord ($c2);
my $w = $x2-$x1;
my $ymin = 0;
my $ymax = 0;
my $last = undef;
while ($n > 1) {
read(JHF,$c1,1);
while (ord ($c1) == 13 || ord ($c1) == 10) {
read(JHF,$c1,1);
}
read(JHF,$c2,1);
my $x = ord($c1)-$x1;
my $y = ord("Z")+1-ord($c2);
if ($y < $ymin) { $ymin = $y }
if ($y > $ymax) { $ymax = $y }
if ($c1 eq " ") {
$last = undef;
} else {
if (defined($last)) {
push @EDG, "$last, $x, $y";
}
$last = "$x, $y";
}
$n--;
}
my $endi = @EDG;
push @INFO, [ $starti, $endi, $w, $ymin, $ymax ];
read(JHF,$c1,1);
if (ord ($c1) == 13) {
read(JHF,$c1,1);
}
if ($ymin < $yymin) { $yymin = $ymin }
if ($ymax > $yymax) { $yymax = $ymax }
$ch++;
}
close JHF;
print "short ${name}_edges [][4] = {\n { ", join(" },\n { ", @EDG), " }\n};\n\n";
print "HersheyCharInfo ${name}_info [] = {\n HersheyCharInfo (";
my @INFOS = map { join (", ", @$_) } @INFO;
print join ("),\n HersheyCharInfo (", @INFOS);
print ")\n};\n";
print "\nstatic HersheyFont $name (${name}_edges, ${name}_info, 32, ",$ch,", ", $yymax, ", ", $yymin, ");\n\n";
}

14
scripts/mk_hershey_fonts.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash -e
inst_dir=$(dirname $(which $0))
fonts=(rowmant timesr timesi futural futuram gothiceng rowmand)
for font in ${fonts[@]}; do
svn cat https://github.com/kamalmostafa/hershey-fonts.git/trunk/hershey-fonts/$font.jhf >$font.jhf
$inst_dir/jhf2c.pl $font
rm $font.jhf
done

View File

@ -2449,7 +2449,7 @@ HersheyCharInfo rowmant_info [] = {
HersheyCharInfo (1030, 1070, 23, 0, 21),
HersheyCharInfo (1070, 1097, 24, 0, 21),
HersheyCharInfo (1097, 1110, 12, 0, 21),
HersheyCharInfo (1110, 1137, 0, 0, 21),
HersheyCharInfo (1110, 1137, 16, 0, 21),
HersheyCharInfo (1137, 1160, 22, 0, 21),
HersheyCharInfo (1160, 1178, 18, 0, 21),
HersheyCharInfo (1178, 1199, 26, 0, 21),