[cups] filter/texttopdf.c does not recognise the freefonts with fontconfig

Matthias Apitz guru at unixarea.de
Tue Jan 26 03:22:04 PST 2016


El día Tuesday, January 26, 2016 a las 07:30:18AM +0100, Matthias Apitz escribió:

> 
> Hello,
> 
> This port of a newer CUPS(...) to SunOS Solaris 10 is not below a good
> star :-(
> 
> Now, as I have the cupsd running, the next problem is in
> filter/texttopdf.c. I have installed the GNU freefonts from the archive
> freefont-ttf-20100919.tar.gz and they are working fine on Linux.
> 
> On Solaris SPARC the fontconfig routines are scanning them (I checked
> this with truss), but texttopdf.c is unwilling to use them. The failing
> code from filter/texttopdf is:
> 
> ...
> ...

> What could be the problem with this fontconfig 2.11.91 call:
> 
>       FcPatternGetString  (candidates->fonts[i], FC_FONTFORMAT, 0, &fontformat);

I have fontconfig 2.11.91 compiled from source and installed on Linux
and SPARC and compared what the tool 'fc-match' on both systems see
about the same file /usr/share/fonts/FreeFont/FreeMono.ttf. In SPARC the
information about 'fontformat' is not returned and due to this
cups-filter' texttopdf failes.

I will bring this up in https://bugs.freebsd.org/ for the fontconfig
moule.

	matthias



SPARC:

/usr/local/sisis-pap/cups2/bin/fc-match -V                   
fontconfig version 2.11.91

Linux:

/usr/local/bin/fc-match -V
fontconfig version 2.11.91

SPARC:

/usr/local/sisis-pap/cups2/bin/fc-match -s -v FreeMono | fgrep -i fontformat
(no match in grep)

Linux:

/usr/local/bin/fc-match -s -v FreeMono | fgrep -i fontformat
	fontformat: "TrueType"(w)

SPARC:

/usr/local/sisis-pap/cups2/bin/fc-match -s -v FreeMono

Pattern has 33 elts (size 48)
	family: "FreeMono"(s)
	familylang: "en"(s)
	style: "Medium"(s) "нормален"(s) "Normal"(s) "obyčejné"(s) "Standard"(s) "µεσαία"(s) "Normaali"(s) "Normál"(s) "Normale"(s) "Standaard"(s) "Normalny"(s) "Обычный"(s) "Normálne"(s) "menengah"(s) "прямій"(s) "navadno"(s) "vidējs"(s) "normalusis"(s) "thường"(s) "Arrunta"(s)
	stylelang: "en"(s) "bg"(s) "ca"(s) "cs"(s) "de"(s) "el"(s) "fi"(s) "hu"(s) "it"(s) "nl"(s) "pl"(s) "ru"(s) "sk"(s) "id"(s) "uk"(s) "sl"(s) "lv"(s) "lt"(s) "vi"(s) "eu"(s)
	fullname: "Free Monospaced"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 80(i)(s)
	width: 100(i)(s)
	size: (0, 1.79769e+308)(s)
	pixelsize: 12.5(f)(s)
	spacing: 100(i)(w)
	foundry: "unknown"(w)
	hintstyle: 3(i)(s)
	hinting: True(s)
	verticallayout: False(s)
	autohint: False(s)
	globaladvance: True(s)
	file: "/usr/share/fonts/FreeFont/FreeMono.ttf"(w)
	index: 0(i)(w)
	outline: True(w)
	scalable: True(w)
	dpi: 75(f)(s)
	scale: 1(f)(s)
	charset: 
	0000: 00000000 00000001 00000000 00000000 00000000 00002001 00000000 00000000
	0003: 00000000 00000000 00008000 00000000 00000000 00000000 00000000 00000000
	0006: 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	0011: 00000000 00000000 80000000 00000001 00000000 00000000 00000000 00000000
	0016: 00000000 00000000 00000000 00000000 00000001 00000000 00000000 00000000
	0017: 00000000 00000000 00000000 00000000 00000000 00300000 00000000 00000000
	0018: 00007800 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	0020: 0000ffff 0000fc00 80000000 0000ffdf 00000000 00000000 00000000 00000000
	0028: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	0030: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	0031: 00000000 00000000 00000000 00000010 00000000 00000000 00000000 00000000
	00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
	00ff: 00000000 00000000 00000000 00000000 00000000 00000001 00000000 00000000
	01bc: 00000000 00000000 00000000 00000000 00000000 0000000f 00000000 00000000
(w)
	lang: (s)
	fontversion: 79626(i)(s)
	capability: "otlayout:grek otlayout:hebr otlayout:latn"(w)
	embeddedbitmap: True(s)
	decorative: False(s)
	namelang: "en"(s)
	prgname: "fc-match"(s)
	postscriptname: "FreeMono"(w)


Linux:

/usr/local/sisis-pap/cups2/bin/fc-match -s -v FreeMono
Pattern has 35 elts (size 48)
	family: "FreeMono"(s)
	familylang: "en"(s)
	style: "Medium"(s) "нормален"(s) "Normal"(s) "obyčejné"(s) "Standard"(s) "µεσαία"(s) "Normaali"(s) "Normál"(s) "Normale"(s) "Standaard"(s) "Normalny"(s) "Обычный"(s) "Normálne"(s) "menengah"(s) "прямій"(s) "navadno"(s) "vidējs"(s) "normalusis"(s) "thường"(s) "Arrunta"(s)
	stylelang: "en"(s) "bg"(s) "ca"(s) "cs"(s) "de"(s) "el"(s) "fi"(s) "hu"(s) "it"(s) "nl"(s) "pl"(s) "ru"(s) "sk"(s) "id"(s) "uk"(s) "sl"(s) "lv"(s) "lt"(s) "vi"(s) "eu"(s)
	fullname: "Free Monospaced"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 80(i)(s)
	width: 100(i)(s)
	size: (0, 1.79769e+308)(s)
	pixelsize: 12.5(f)(s)
	spacing: 100(i)(w)
	foundry: "unknown"(w)
	hintstyle: 3(i)(s)
	hinting: True(s)
	verticallayout: False(s)
	autohint: False(s)
	globaladvance: True(s)
	file: "/usr/share/fonts/FreeFont/FreeMono.ttf"(w)
	index: 0(i)(w)
	outline: True(w)
	scalable: True(w)
	dpi: 75(f)(s)
	scale: 1(f)(s)
	charset: 
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
	0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0002: ffffffff 008ffff1 ffff0000 ffffffff ffffffff ffffffff ffffffff ffffffff
	0003: ffffffff ffffffff 07ff3bff 44300000 ffffd7f0 fffffffb 1c7f7fff 00330000
	0004: ffffffff ffffffff ffffffff 30f73ddf fffffcf8 ffffffff ffffffff 03ffffff
	0005: fc0f0000 fffe0000 fe7fffff fffffffe 000006ff fbff0000 ffff001f 001f07ff
	0010: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 1a3fffff
	0013: 00000000 00000000 00000000 00000000 00000000 ffffffff ffffffff 001fffff
	0016: 00000000 00000000 00000000 00000000 00000000 ffffffff ffffffff 0001ffff
	001e: ffffffff ffffffff ffffffff ffffffff 0fffffff ffffffff ffffffff 03ffffff
	001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
	0020: ffffffff fffffcff ffffffff fff3001f 001f7fff 003f7ffe f8c70000 0000fd6f
	0021: 77ffe3ff 0fe44ed7 fff8681e ffffffff ffff0000 ffffffff 203fffff 000803c0
	0022: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 0003ffff
	0023: f335ff7d ffc01eff ffffffff f7ffffff ffffffff fcffffff cc00ffff 0000007c
	0024: ffffffff 0000001b 000007ff 000003ff 00000000 00000000 00000000 00000000
	0025: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0026: fc0703ef feffc340 000fffff 0000feff 0000003f 00000000 00000000 00000000
	0027: 00000000 00000000 00000000 00000000 00000000 00000000 00ff17ff 1fec0ff0
	0028: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	002a: 2000007f 80000000 00000000 00000000 00000000 00000000 00000000 00000000
	002b: fbfc3fff 00000fff 00180000 00000000 00000000 00000000 00000000 00000000
	002e: 00800000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	00a7: 00000000 00000000 00000000 00000000 00001f00 00000000 00000000 00000000
	00a9: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
	00fb: e000003f 5f7fffff 0000ffdb 00000000 00000000 00000000 00000000 00000000
	00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 20000000
(w)
	lang: aa|ab|af|ast|av|ay|az-az|ba|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|chr|co|cs|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|he|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|ka|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|sh|shs|sk|sl|sm|sma|smj|smn|sms|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|to|tr|ts|tt|tw|tyv|uk|uz|ve|vi|vo|vot|wa|wen|wo|xh|yap|yi|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|quz|rn|rw|sc|sg|sn|su|ty|za(s)
	fontversion: 79626(i)(s)
	capability: "otlayout:grek otlayout:hebr otlayout:latn"(w)
	fontformat: "TrueType"(w)
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^⁻------- this information is missing in SPARC
	embeddedbitmap: True(s)
	decorative: False(s)
	namelang: "en"(s)
	prgname: "fc-match"(s)
	postscriptname: "FreeMono"(w)
	color: False(w)

Pattern has 35 elts (size 48)
	...



-- 
Matthias Apitz, ✉ guru at unixarea.de, ⌂ http://www.unixarea.de/  ☎ +49-176-38902045
UNIX since V7 on PDP-11 | UNIX on mainframe since ESER 1055 (IBM /370)
UNIX on x86 since SVR4.2 UnixWare 2.1.2 | FreeBSD since 2.2.5



More information about the cups mailing list