diff --git a/scripts/jhf2c.pl b/scripts/jhf2c.pl new file mode 100755 index 000000000..9c8c244f8 --- /dev/null +++ b/scripts/jhf2c.pl @@ -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"; + +} + diff --git a/scripts/mk_hershey_fonts.sh b/scripts/mk_hershey_fonts.sh new file mode 100755 index 000000000..e3cebba28 --- /dev/null +++ b/scripts/mk_hershey_fonts.sh @@ -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 + diff --git a/src/db/db/fonts.cc_gen b/src/db/db/fonts.cc_gen index aec97be44..34590166c 100644 --- a/src/db/db/fonts.cc_gen +++ b/src/db/db/fonts.cc_gen @@ -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),