Bug#298960: freewrl: contains non-free fonts
On Fri, Apr 01, 2005 at 07:50:04PM +0200, Frank Küster wrote:
> Peter De Wachter <pdewacht@vub.ac.be> wrote:
> > To get replacement fonts, you can depend on ttf-bitstream-vera,
> > ttf-freefont, or one of the other free fonts packaged in Debian.
>
> Do you know which files from these packages could be used instead of the
> ones included in freewrl? I don't know *how* freewrl uses them, but I
> saw that they are simply copied in the binary-arch target of
> debian/rules - it should be straightforward to create symlinks. One
> would just have to know which targets to point to...
The fonts are, as far as I can see, only referenced in a single
function, so it's not hard to change them. A patch that does this is
attached. The patch also changes the font path, so there's no need to
create symlinks.
diff -ru freewrl-1.07/CFrontEnd/fw2init.pl freewrl-pdw/CFrontEnd/fw2init.pl
--- freewrl-1.07/CFrontEnd/fw2init.pl 2004-06-29 21:06:53.000000000 +0200
+++ freewrl-pdw/CFrontEnd/fw2init.pl 2005-04-04 03:00:04.992731032 +0200
@@ -41,19 +41,8 @@
$be = $b->{BE};
# fonts
- my $testpath = "$VRML::ENV{FREEWRL_BUILDDIR}/fonts";
- if (-e "$testpath/Baubodi.ttf") {
- VRML::VRMLFunc::save_font_path($testpath);
- } else {
- foreach (@INC) {
- $testpath = "$_/VRML/fonts";
- if (-e "$testpath/Baubodi.ttf") {
- VRML::VRMLFunc::save_font_path($testpath);
- # print "found font path at $testpath\n";
- return;
- }
- }
- }
+ VRML::VRMLFunc::save_font_path(
+ "/usr/share/fonts/truetype/ttf-bitstream-vera/");
}
sub load_file_intro {
diff -ru freewrl-1.07/CFuncs/Text.c freewrl-pdw/CFuncs/Text.c
--- freewrl-1.07/CFuncs/Text.c 2004-06-29 21:06:53.000000000 +0200
+++ freewrl-pdw/CFuncs/Text.c 2005-04-04 02:57:35.165508232 +0200
@@ -249,22 +249,23 @@
strcpy (thisfontname, sys_fp);
switch (num) {
/* Serif, norm, bold, italic, bold italic */
- case 0x04: strcat (thisfontname,"/Amrigon.ttf"); break;
- case 0x05: strcat (thisfontname,"/Amrigob.ttf"); break;
- case 0x06: strcat (thisfontname,"/Amrigoi.ttf"); break;
- case 0x07: strcat (thisfontname,"/Amrigobi.ttf"); break;
+ /* Vera Serif doesn't have an italic version */
+ case 0x04: strcat (thisfontname,"/VeraSe.ttf"); break;
+ case 0x05: strcat (thisfontname,"/VeraSeBd.ttf"); break;
+ case 0x06: strcat (thisfontname,"/VeraSe.ttf"); break;
+ case 0x07: strcat (thisfontname,"/VeraSeBd.ttf"); break;
/* Sans, norm, bold, italic, bold italic */
- case 0x08: strcat (thisfontname,"/Baubodn.ttf"); break;
- case 0x09: strcat (thisfontname,"/Baubodn.ttf"); break;
- case 0x0a: strcat (thisfontname,"/Baubodi.ttf"); break;
- case 0x0b: strcat (thisfontname,"/Baubodbi.ttf"); break;
+ case 0x08: strcat (thisfontname,"/Vera.ttf"); break;
+ case 0x09: strcat (thisfontname,"/VeraBd.ttf"); break;
+ case 0x0a: strcat (thisfontname,"/VeraIt.ttf"); break;
+ case 0x0b: strcat (thisfontname,"/VeraBI.ttf"); break;
/* Typewriter, norm, bold, italic, bold italic */
- case 0x10: strcat (thisfontname,"/Futuran.ttf"); break;
- case 0x11: strcat (thisfontname,"/Futurab.ttf"); break;
- case 0x12: strcat (thisfontname,"/Futurabi.ttf"); break;
- case 0x13: strcat (thisfontname,"/Futurabi.ttf"); break;
+ case 0x10: strcat (thisfontname,"/VeraMono.ttf"); break;
+ case 0x11: strcat (thisfontname,"/VeraMoBd.ttf"); break;
+ case 0x12: strcat (thisfontname,"/VeraMoIt.ttf"); break;
+ case 0x13: strcat (thisfontname,"/VeraMoBI.ttf"); break;
default: printf ("dont know how to handle font id %x\n",num);
}
Reply to: