All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* man-pages PDF book: fonts
@ 2024-03-22 17:35 Alejandro Colomar
  2024-03-25  4:19 ` G. Branden Robinson
  0 siblings, 1 reply; 9+ messages in thread
From: Alejandro Colomar @ 2024-03-22 17:35 UTC (permalink / raw
  To: branden, linux-man, Deri James

[-- Attachment #1: Type: text/plain, Size: 869 bytes --]

Hi Branden, Deri,

I see that Debian provides the Tinos font in some package:

$ apt-file find -x Tinos.*pf
texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Bold.pfb
texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-BoldItalic.pfb
texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Italic.pfb
texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb

The above is .pfb, not .pfa, which I don't understand and may not be
usable for our purposes, but maybe it is, and we can drop the font from
our repository.  Is that package something we can use as a dependency?

Can we similarly get the Unifont for zh_CN PDFs?

Thanks,
Alex

-- 
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-22 17:35 man-pages PDF book: fonts Alejandro Colomar
@ 2024-03-25  4:19 ` G. Branden Robinson
  2024-03-25 11:40   ` Alejandro Colomar
                     ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: G. Branden Robinson @ 2024-03-25  4:19 UTC (permalink / raw
  To: Alejandro Colomar; +Cc: linux-man

[-- Attachment #1: Type: text/plain, Size: 2047 bytes --]

Hi Alex,

At 2024-03-22T18:35:02+0100, Alejandro Colomar wrote:
> I see that Debian provides the Tinos font in some package:
> 
> $ apt-file find -x Tinos.*pf
> texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Bold.pfb
> texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-BoldItalic.pfb
> texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Italic.pfb
> texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb
> 
> The above is .pfb, not .pfa, which I don't understand and may not be
> usable for our purposes,

PFA and PFB are closely related font file formats.  Reputedly, they
stand for "PostScript" (or "Printer") "Font" "ASCII" or "Binary",
respectively.  PFB was much more widely used on MS-DOS, due either to
the meager disk space there, the 640kB RAM limit, or because it was
thought that the fonts would be "pirated" (or even understood) less
because the nature of their contents was less obvious.  Who knows?

Regardless, groff provides a tool for converting uncouth PFB to
civilized PFA.

$ apropos pfbtops
pfbtops (1)    - translate Printer Font Binary files to PostScript ASCII

The grops(1) and gropdf(1) man pages in groff 1.23.0 discuss using this
tool to prepare fonts so that groff can read them.

(Why not "pfbtopfa"?  Ghostscript was already using that name.  Why does
groff provide a tool that does the same thing?  Good question.  I don't
know.  It is not a young program--it is old.[1]  Maybe at one time groff
was portable to MS-DOS but Ghostscript was not.)

> Can we similarly get the Unifont for zh_CN PDFs?

As I understand it, GNU Unifont is a low-resolution bitmap font intended
for terminal emulators.[2]  I expect it would look offensively bad when
typeset.

Regards,
Branden

[1] https://git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.23.0#n3211
    https://www.youtube.com/watch?v=K2tgZCabTzs
[2] https://unifoundry.com/unifont/index.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-25  4:19 ` G. Branden Robinson
@ 2024-03-25 11:40   ` Alejandro Colomar
  2024-03-25 11:48     ` Alejandro Colomar
  2024-03-25 12:07     ` Alejandro Colomar
  2024-03-25 18:36   ` James Cloos
  2024-03-26 18:10   ` Brian Inglis
  2 siblings, 2 replies; 9+ messages in thread
From: Alejandro Colomar @ 2024-03-25 11:40 UTC (permalink / raw
  To: G. Branden Robinson; +Cc: linux-man

[-- Attachment #1: Type: text/plain, Size: 3955 bytes --]

Hi Branden!

On Sun, Mar 24, 2024 at 11:19:54PM -0500, G. Branden Robinson wrote:
> Hi Alex,
> 
> At 2024-03-22T18:35:02+0100, Alejandro Colomar wrote:
> > I see that Debian provides the Tinos font in some package:
> > 
> > $ apt-file find -x Tinos.*pf
> > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Bold.pfb
> > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-BoldItalic.pfb
> > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Italic.pfb
> > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb
> > 
> > The above is .pfb, not .pfa, which I don't understand and may not be
> > usable for our purposes,
> 
> PFA and PFB are closely related font file formats.  Reputedly, they
> stand for "PostScript" (or "Printer") "Font" "ASCII" or "Binary",
> respectively.  PFB was much more widely used on MS-DOS, due either to
> the meager disk space there, the 640kB RAM limit, or because it was
> thought that the fonts would be "pirated" (or even understood) less
> because the nature of their contents was less obvious.  Who knows?
> 
> Regardless, groff provides a tool for converting uncouth PFB to
> civilized PFA.
> 
> $ apropos pfbtops
> pfbtops (1)    - translate Printer Font Binary files to PostScript ASCII
> 
> The grops(1) and gropdf(1) man pages in groff 1.23.0 discuss using this
> tool to prepare fonts so that groff can read them.

Hmmm, so I could add a Makefile target to produce this .pfa font from
the packaged .pfb one, and then get gropdf(1) to use this one.  --Using
a Makefile pays for itself.--  The process is fast, it seems.

$ time pfbtops \
	/usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb \
| wc -l
19570

real	0m0.012s
user	0m0.015s
sys	0m0.001s

I'll try it.  This should remove a gigantic file from the project
repository.  Thanks!  =)

> (Why not "pfbtopfa"?  Ghostscript was already using that name.  Why does
> groff provide a tool that does the same thing?  Good question.  I don't
> know.  It is not a young program--it is old.[1]  Maybe at one time groff
> was portable to MS-DOS but Ghostscript was not.)

Which one do you recommend?  pfbtopfa(1) seems to have problems:

$ pfbtopfa /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb
Error: /invalidfileaccess in --file--
Operand stack:   in1   (/usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb)   (r)
Execution stack:   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1949   1   3   %oparray_pop   1948   1   3   %oparray_pop   1933   1   3   %oparray_pop   1803   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--
Dictionary stack:   --dict:746/1123(ro)(G)--   --dict:0/20(G)--   --dict:88/200(L)--
Current allocation mode is local
Last OS error: Permission deniedCurrent file position is 980
GPL Ghostscript 10.03.0: Unrecoverable error, exit code 1

> > Can we similarly get the Unifont for zh_CN PDFs?
> 
> As I understand it, GNU Unifont is a low-resolution bitmap font intended
> for terminal emulators.[2]  I expect it would look offensively bad when
> typeset.

That's the font Deri used in his patch:
<https://lore.kernel.org/linux-man/2607548.uBY7QHFjlC@pip/>

I guess that's better than nothing.

Have a lovely day!
Alex

> 
> Regards,
> Branden
> 
> [1] https://git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.23.0#n3211
>     https://www.youtube.com/watch?v=K2tgZCabTzs
> [2] https://unifoundry.com/unifont/index.html



-- 
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-25 11:40   ` Alejandro Colomar
@ 2024-03-25 11:48     ` Alejandro Colomar
  2024-03-25 12:07     ` Alejandro Colomar
  1 sibling, 0 replies; 9+ messages in thread
From: Alejandro Colomar @ 2024-03-25 11:48 UTC (permalink / raw
  To: G. Branden Robinson; +Cc: linux-man

[-- Attachment #1: Type: text/plain, Size: 4616 bytes --]

On Mon, Mar 25, 2024 at 12:40:07PM +0100, Alejandro Colomar wrote:
> Hi Branden!
> 
> On Sun, Mar 24, 2024 at 11:19:54PM -0500, G. Branden Robinson wrote:
> > Hi Alex,
> > 
> > At 2024-03-22T18:35:02+0100, Alejandro Colomar wrote:
> > > I see that Debian provides the Tinos font in some package:
> > > 
> > > $ apt-file find -x Tinos.*pf
> > > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Bold.pfb
> > > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-BoldItalic.pfb
> > > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos-Italic.pfb
> > > texlive-fonts-extra: /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb
> > > 
> > > The above is .pfb, not .pfa, which I don't understand and may not be
> > > usable for our purposes,
> > 
> > PFA and PFB are closely related font file formats.  Reputedly, they
> > stand for "PostScript" (or "Printer") "Font" "ASCII" or "Binary",
> > respectively.  PFB was much more widely used on MS-DOS, due either to
> > the meager disk space there, the 640kB RAM limit, or because it was
> > thought that the fonts would be "pirated" (or even understood) less
> > because the nature of their contents was less obvious.  Who knows?
> > 
> > Regardless, groff provides a tool for converting uncouth PFB to
> > civilized PFA.
> > 
> > $ apropos pfbtops
> > pfbtops (1)    - translate Printer Font Binary files to PostScript ASCII
> > 
> > The grops(1) and gropdf(1) man pages in groff 1.23.0 discuss using this
> > tool to prepare fonts so that groff can read them.
> 
> Hmmm, so I could add a Makefile target to produce this .pfa font from
> the packaged .pfb one, and then get gropdf(1) to use this one.  --Using
> a Makefile pays for itself.--  The process is fast, it seems.
> 
> $ time pfbtops \
> 	/usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb \
> | wc -l
> 19570
> 
> real	0m0.012s
> user	0m0.015s
> sys	0m0.001s
> 
> I'll try it.  This should remove a gigantic file from the project
> repository.  Thanks!  =)
> 
> > (Why not "pfbtopfa"?  Ghostscript was already using that name.  Why does
> > groff provide a tool that does the same thing?  Good question.  I don't
> > know.  It is not a young program--it is old.[1]  Maybe at one time groff
> > was portable to MS-DOS but Ghostscript was not.)

Oh, and there's also pfb2pfa(1), it seems.

alx@debian:~$ apt-file find bin/pfbtops
groff: /usr/bin/pfbtops                   
alx@debian:~$ apt-file find bin/pfbtopfa
ghostscript: /usr/bin/pfbtopfa            
alx@debian:~$ apt-file find bin/pfb2pfa
texlive-binaries: /usr/bin/pfb2pfa        

> 
> Which one do you recommend?  pfbtopfa(1) seems to have problems:
> 
> $ pfbtopfa /usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb
> Error: /invalidfileaccess in --file--
> Operand stack:   in1   (/usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb)   (r)
> Execution stack:   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1949   1   3   %oparray_pop   1948   1   3   %oparray_pop   1933   1   3   %oparray_pop   1803   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--
> Dictionary stack:   --dict:746/1123(ro)(G)--   --dict:0/20(G)--   --dict:88/200(L)--
> Current allocation mode is local
> Last OS error: Permission deniedCurrent file position is 980
> GPL Ghostscript 10.03.0: Unrecoverable error, exit code 1
> 
> > > Can we similarly get the Unifont for zh_CN PDFs?
> > 
> > As I understand it, GNU Unifont is a low-resolution bitmap font intended
> > for terminal emulators.[2]  I expect it would look offensively bad when
> > typeset.
> 
> That's the font Deri used in his patch:
> <https://lore.kernel.org/linux-man/2607548.uBY7QHFjlC@pip/>
> 
> I guess that's better than nothing.
> 
> Have a lovely day!
> Alex
> 
> > 
> > Regards,
> > Branden
> > 
> > [1] https://git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.23.0#n3211
> >     https://www.youtube.com/watch?v=K2tgZCabTzs
> > [2] https://unifoundry.com/unifont/index.html
> 
> 
> 
> -- 
> <https://www.alejandro-colomar.es/>
> Looking for a remote C programming job at the moment.



-- 
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-25 11:40   ` Alejandro Colomar
  2024-03-25 11:48     ` Alejandro Colomar
@ 2024-03-25 12:07     ` Alejandro Colomar
  1 sibling, 0 replies; 9+ messages in thread
From: Alejandro Colomar @ 2024-03-25 12:07 UTC (permalink / raw
  To: G. Branden Robinson; +Cc: linux-man, Deri James

[-- Attachment #1: Type: text/plain, Size: 1526 bytes --]

Hi Branden,

On Mon, Mar 25, 2024 at 12:40:07PM +0100, Alejandro Colomar wrote:
> > The grops(1) and gropdf(1) man pages in groff 1.23.0 discuss using this
> > tool to prepare fonts so that groff can read them.
> 
> Hmmm, so I could add a Makefile target to produce this .pfa font from
> the packaged .pfb one, and then get gropdf(1) to use this one.  --Using
> a Makefile pays for itself.--  The process is fast, it seems.
> 
> $ time pfbtops \
> 	/usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb \
> | wc -l
> 19570
> 
> real	0m0.012s
> user	0m0.015s
> sys	0m0.001s
> 
> I'll try it.  This should remove a gigantic file from the project
> repository.  Thanks!  =)

I'm a bit worried that with the font regenerated from the packaged one
and pfbtops(1) I get a lot more warnings.  The PDF still seems okay at
first glance, but I'm not sure if there's something wrong with what I'm
doing:


$ pfbtops \
	/usr/share/texlive/texmf-dist/fonts/type1/google/tinos/Tinos.pfb \
	>scripts/LinuxManBook/devpdf/Tinos.pfa ;
$ make build-man -j24 >/dev/null;
$ make build-pdf-book |& wc -l;
1349
$ git stash;
Saved working directory and index state WIP on contrib: 49e6388bb share/mk/: srcfix
$ rm .tmp/man-pages-*.pdf;
$ make build-pdf-book |& wc -l;
260


Maybe I also need to regenerate the TINOR file?  And how do I regenerate
that one, and what's its source?

Cheers,
Alex

-- 
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-25  4:19 ` G. Branden Robinson
  2024-03-25 11:40   ` Alejandro Colomar
@ 2024-03-25 18:36   ` James Cloos
  2024-03-26 18:10   ` Brian Inglis
  2 siblings, 0 replies; 9+ messages in thread
From: James Cloos @ 2024-03-25 18:36 UTC (permalink / raw
  To: G. Branden Robinson; +Cc: Alejandro Colomar, linux-man

>>>>> "B" == G Branden Robinson <g.branden.robinson@gmail.com> writes:

B> Regardless, groff provides a tool for converting uncouth PFB to
B> civilized PFA.

pfb is also very common on x11 and tex systems.

lcdf.org’s t1utils offers t1ascii and t1binary to convert between the
two formats, as well as t1disasm & t1asm to (dis)?assemble either format.

-JimC
-- 
James Cloos <cloos@jhcloos.com>
            OpenPGP: https://jhcloos.com/0x997A9F17ED7DAEA6.asc

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-25  4:19 ` G. Branden Robinson
  2024-03-25 11:40   ` Alejandro Colomar
  2024-03-25 18:36   ` James Cloos
@ 2024-03-26 18:10   ` Brian Inglis
  2024-04-20 12:06     ` Alejandro Colomar
  2 siblings, 1 reply; 9+ messages in thread
From: Brian Inglis @ 2024-03-26 18:10 UTC (permalink / raw
  To: linux-man; +Cc: branden, deri, alx

On Sun, Mar 24, 2024 at 11:19:54PM -0500, G. Branden Robinson wrote:
 > At 2024-03-22T18:35:02+0100, Alejandro Colomar wrote:

Hi Branden, Alex,

>> I see that Debian provides the Tinos font in some package:
...
>> Can we similarly get the Unifont for zh_CN PDFs?

You can check what you have installed using fontconfig utilities e.g.
`fc-list :lang=zh` or Unicode points `fc-list :charset=code,beg-end,...` and 
disregarding other "complete" fallback fonts like Unifont, UnicodeBMPFallback, 
LastResort, I find I have DroidSansFallBack which I can investigate further as 
shown below.

A condensed list of code point ranges can be shown on a single line with
`fc-list -f, --format 'FORMAT'` below, but include the file name, as sometimes 
the font configuration matches fonts other than requested or expected.

Fontconfig `fc-query file` shows the same information for font files (which need 
not be installed), as shown at bottom.

The charset dump is in lines of 256 codes, 20 per word, in big-endian? order.

Using option `fc-query -b` and avoiding `fc-list -v` skip the charset dump, or 
specifying the charset element shows all ranges on a single line!

TeXlive otfinfo options allow selective dumping of info including -u, --unicode 
but appears only to handle the first 64K BMP U+0000..U+FFFF.

Python package fonttools ttx can show info including cmap table as XML .ttx 
files, but defaults output to the font directory, so if using installed font 
paths, add `-d .` or `-o font.ttx` to avoid accidents if root!

You can also view a font in the GUI `xfd -fa DroidSansFallback`: jump with the 
[+16] button, scroll with the [Next] button; these seem to skip missing code 
points, but the display shows boxes in missing positions in the displayed range.

Tinos is a Google replacement for Windows Times New Roman, and seems to be part 
of the Google Noto collection of font packages, which includes "compatible" 
noto-cjk packages, and that/they should include those shown at:

	https://fonts.google.com/?query=chinese

where you can browse each individually to access the "Get Font" then "Download 
all" [weights/variants] buttons.

As Tinos is a serif style, Noto [NO TOfu] Serif Simplified Chinese may match the 
style and meet your needs.

Of course, you then have to groff_font-ize the downloaded and installed font.

> As I understand it, GNU Unifont is a low-resolution bitmap font intended
> for terminal emulators.[2] I expect it would look offensively bad when
> typeset.

Unifoundry.com GNU Unifont by Paul Hardy, Roman Czyborra, et.al. is an OpenType 
font, without combination form glyphs, redrawn based on bitmaps and not too bad, 
compared to e.g. DroidSansFallback which has a lot of tofu, especially for those 
of us who do not know what the glyphs should look like, and just want fallbacks 
to display everything without mojibake, UnicodeBMPFallback hex, LastResort range 
glyphs, or .notdef tofu.

Examples:

$ ttx -t cmap -d . /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf 
                Dumping 
"/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf" to 
"./DroidSansFallbackFull.ttx"...
Dumping 'cmap' table...
$ ttx -t cmap -o DroidSansFallback.ttx 
/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttfDumping 
"/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf" to 
"DroidSansFallback.ttx"...
Dumping 'cmap' table...
$ otfinfo --unicode /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf | tail
uniFF9F 29723
uniFFE0 29724
uniFFE1 29725
uniFFE2 29726
uniFFE3 29727
uniFFE4 29728
uniFFE5 29729
uniFFE6 592
uniFFFD 29730
uniFFFF 0
$ fc-list DroidSansFallback
/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf: Droid Sans 
Fallback:style=Regular
$ fc-list DroidSansFallback charset
:charset=20-7e a0-a1 a4 a7-a8 aa-ab ad-b4 b6-bf c6 d0 d7-d8 de-e1 e6 e8-ea ec-ed 
f0 f2-f3 f7-fa fc fe 101 111 113 11b 126-127 12b 131-133 138 13f-142 149-14b 14d 
152-153 166-167 16b 1c0-1c3 1ce 1d0 1d2 1d4 1d6 1d8 1da 1dc 21a-21b 250-2b2 2b4 
2b7 2bb-2bc 2c7-2cd 2d0-2d1 2d8-2db 2dd-2de 2e0 2e4 300-301 303-304 306 308 
30a-30b 30f-334 339-33d 35c 361 391-3a1 3a3-3a9 3b1-3c1 3c3-3c9 401 410-44f 451 
e3f 1100-1112 1114-1115 111c-111e 1120 1122-1123 1127 1129 112b-112f 1132 1136 
1140 1147 114c 1157-1159 1184-1185 1188 1191-1192 1194 119e 11a1 11a8-11c2 
11c7-11c8 11cc 11ce 11d3 11d7 11d9 11dc-11dd 11df 11e2 11e6-11e8 11ea-11eb 11ee 
11f0-11f2 11f4 11f9 200c-2011 2013-2016 2018-2019 201c-201d 2020-2022 2025-2027 
202a-202d 2030 2032-2033 2035 203b-203c 203e 2047-2049 2074 207f 2081-2084 
20a0-20b9 2103 2105 2109 2111 2113 2116 2118 211c 2121-2122 2126 212b 2133 2135 
2153-2154 215b-215e 2160-216b 2170-2179 2190-2200 2202-2203 2205 2207-2209 
220b-220c 220f 2211 2215 2217 221a 221d-2220 2223 2225 2227-222c 222e 2234-2237 
223c-223d 2245 2248 224c 2252 2260-2261 2264-2267 226a-226b 226e-226f 2282-2287 
2295 2297 2299 22a5 22bf 22c5 2308-230b 2312 23af 2460-24b5 24d0-24e9 2500-254b 
2550-2574 2581-258f 2592-2595 25a0-25a1 25a3-25aa 25b2-25b3 25b6-25b7 25ba 
25bc-25bd 25c0-25c1 25c6-25c9 25cb 25ce-25d1 25e2-25e6 25ef 2605-2606 260e-260f 
261c 261e 2640 2642 2654-266a 266c-266d 266f 2680-2685 2701-2704 2706-2709 
270c-2727 2729-274b 274d 274f-2752 2756 2758-275e 2761-2794 2798-27af 27b1-27be 
2985-2986 3000-3003 3005-3019 301c-301f 3021-3029 3041-3094 3099-309e 30a0-30f6 
30fb-30fe 3105-3129 3131-318e 3220-3229 3231-3232 3239 327f 32a3-32a8 3303 330d 
3314 3318 3322-3323 3326-3327 332b 3336 333b 3349-334a 334d 3351 3357 337b-337e 
3380-3384 3388-33ca 33cd-33d3 33d5-33d6 33d8 33db-33dd 3400-4db5 4e00-9fa5 ac00 
d7a2-d7a3 f900-fa2d fe10-fe19 fe30-fe31 fe33-fe46 fe49-fe52 fe54-fe57 fe59-fe66 
fe68-fe6b ff01-ff5e ff61-ff9f ffe0-ffe6 fffd 10400 10428 1044d-1044f
$ fc-list -f '%{file}\n%{charset}\n' DroidSansFallback
/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf
20-7e a0-a1 a4 a7-a8 aa-ab ad-b4 b6-bf c6 d0 d7-d8 de-e1 e6 e8-ea ec-ed f0 f2-f3 
f7-fa fc fe 101 111 113 11b 126-127 12b 131-133 138 13f-142 149-14b 14d 152-153 
166-167 16b 1c0-1c3 1ce 1d0 1d2 1d4 1d6 1d8 1da 1dc 21a-21b 250-2b2 2b4 2b7 
2bb-2bc 2c7-2cd 2d0-2d1 2d8-2db 2dd-2de 2e0 2e4 300-301 303-304 306 308 30a-30b 
30f-334 339-33d 35c 361 391-3a1 3a3-3a9 3b1-3c1 3c3-3c9 401 410-44f 451 e3f 
1100-1112 1114-1115 111c-111e 1120 1122-1123 1127 1129 112b-112f 1132 1136 1140 
1147 114c 1157-1159 1184-1185 1188 1191-1192 1194 119e 11a1 11a8-11c2 11c7-11c8 
11cc 11ce 11d3 11d7 11d9 11dc-11dd 11df 11e2 11e6-11e8 11ea-11eb 11ee 11f0-11f2 
11f4 11f9 200c-2011 2013-2016 2018-2019 201c-201d 2020-2022 2025-2027 202a-202d 
2030 2032-2033 2035 203b-203c 203e 2047-2049 2074 207f 2081-2084 20a0-20b9 2103 
2105 2109 2111 2113 2116 2118 211c 2121-2122 2126 212b 2133 2135 2153-2154 
215b-215e 2160-216b 2170-2179 2190-2200 2202-2203 2205 2207-2209 220b-220c 220f 
2211 2215 2217 221a 221d-2220 2223 2225 2227-222c 222e 2234-2237 223c-223d 2245 
2248 224c 2252 2260-2261 2264-2267 226a-226b 226e-226f 2282-2287 2295 2297 2299 
22a5 22bf 22c5 2308-230b 2312 23af 2460-24b5 24d0-24e9 2500-254b 2550-2574 
2581-258f 2592-2595 25a0-25a1 25a3-25aa 25b2-25b3 25b6-25b7 25ba 25bc-25bd 
25c0-25c1 25c6-25c9 25cb 25ce-25d1 25e2-25e6 25ef 2605-2606 260e-260f 261c 261e 
2640 2642 2654-266a 266c-266d 266f 2680-2685 2701-2704 2706-2709 270c-2727 
2729-274b 274d 274f-2752 2756 2758-275e 2761-2794 2798-27af 27b1-27be 2985-2986 
3000-3003 3005-3019 301c-301f 3021-3029 3041-3094 3099-309e 30a0-30f6 30fb-30fe 
3105-3129 3131-318e 3220-3229 3231-3232 3239 327f 32a3-32a8 3303 330d 3314 3318 
3322-3323 3326-3327 332b 3336 333b 3349-334a 334d 3351 3357 337b-337e 3380-3384 
3388-33ca 33cd-33d3 33d5-33d6 33d8 33db-33dd 3400-4db5 4e00-9fa5 ac00 d7a2-d7a3 
f900-fa2d fe10-fe19 fe30-fe31 fe33-fe46 fe49-fe52 fe54-fe57 fe59-fe66 fe68-fe6b 
ff01-ff5e ff61-ff9f ffe0-ffe6 fffd 10400 10428 1044d-1044f
$ fc-list -v DroidSansFallback
Pattern has 28 elts (size 32)
	family: "Droid Sans Fallback"(s)
	familylang: "en"(s)
	style: "Regular"(s)
	stylelang: "en"(s)
	fullname: "Droid Sans Fallback"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 80(f)(s)
	width: 100(f)(s)
	foundry: "1ASC"(s)
	file: "/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf"(s)
	index: 0(i)(s)
	outline: True(s)
	scalable: True(s)
	charset:
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffdfed93 c1810040 578d3743
	0001: 080a0002 810e08c0 000c2e07 000008c0 00000000 00000000 1555400f 00000000
	0002: 0c000000 00000000 ffff0000 ffffffff ffffffff 1897ffff 6f033f80 00000011
	0003: ffff8d5b 3e1fffff 10000000 00000002 fffe0000 fffe03fb 000003fb 00000000
	0004: ffff0002 ffffffff 0002ffff 00000000 00000000 00000000 00000000 00000000
	000e: 00000000 80000000 00000000 00000000 00000000 00000000 00000000 00000000
	0011: 7037ffff 0044fa8d 03801081 00000000 40160130 ffffff02 b2885187 02174dc4
	0020: 337bf000 582d3ce7 00000380 80100000 0000001e 03ffffff 00000000 00000000
	0021: 114a0228 00280846 78180000 03ff0fff ffff0000 ffffffff ffffffff ffffffff
	0022: e4a29bad 30f05fa9 00041120 0000ccf3 02a000fc 80000020 00000020 00000000
	0023: 00040f00 00000000 00000000 00000000 00000000 00008000 00000000 00000000
	0024: 00000000 00000000 00000000 ffffffff ffffffff 003fffff ffff0000 000003ff
	0025: ffffffff ffffffff ffff0fff 001fffff 003cfffe 34cc07fb 0003cbc3 0000807c
	0026: 5000c060 00000000 fff00005 0000b7ff 0000003f 00000000 00000000 00000000
	0027: fffff3de fffffeff 7f47afff fffffffe ff1fffff 7ffeffff 00000000 00000000
	0029: 00000000 00000000 00000000 00000000 00000060 00000000 00000000 00000000
	0030: f3ffffef 000003fe fffffffe ffffffff 7e1fffff ffffffff ffffffff 787fffff
	0031: ffffffe0 fffe03ff ffffffff ffffffff 00007fff 00000000 00000000 00000000
	0032: 00000000 020603ff 00000000 80000000 00000000 000001f8 00000000 00000000
	0033: 01102008 084008cc 00822600 78000000 ffffff1f ffffffff 396fe7ff 00000000
	0034: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0035: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0036: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0037: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0038: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0039: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0040: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0041: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0042: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0043: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0044: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0045: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0046: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0047: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0048: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0049: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004d: ffffffff ffffffff ffffffff ffffffff ffffffff 003fffff 00000000 00000000
	004e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0050: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0051: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0052: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0053: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0054: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0055: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0056: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0057: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0058: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0059: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0060: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0061: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0062: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0063: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0064: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0065: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0066: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0067: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0068: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0069: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0070: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0071: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0072: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0073: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0074: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0075: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0076: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0077: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0078: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0079: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0080: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0081: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0082: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0083: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0084: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0085: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0086: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0087: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0088: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0089: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0090: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0091: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0092: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0093: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0094: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0095: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0096: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0097: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0098: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0099: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009f: ffffffff ffffffff ffffffff ffffffff ffffffff 0000003f 00000000 00000000
	00ac: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	00d7: 00000000 00000000 00000000 00000000 00000000 0000000c 00000000 00000000
	00f9: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	00fa: ffffffff 00003fff 00000000 00000000 00000000 00000000 00000000 00000000
	00fe: 03ff0000 fffb0000 fef7fe7f 00000f7f 00000000 00000000 00000000 00000000
	00ff: fffffffe ffffffff 7fffffff fffffffe ffffffff 00000000 00000000 2000007f
	0104: 00000001 00000100 0000e000 00000000 00000000 00000000 00000000 00000000
(s)
	lang: 
bg|fj|ho|ia|io|ja|kum|nr|om|os|ru|sel|sm|so|ss|st|sw|to|ts|uz|xh|zh-cn|zh-sg|zh-tw|zu|kj|kwm|lg|ms|ng|rn|rw|sn|za|agr|bem|cmn|hak|lzh|mhr(s)
	fontversion: 65536(i)(s)
	capability: "otlayout:cyrl otlayout:grek otlayout:hani otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: False(s)
	postscriptname: "DroidSansFallback"(s)
	color: False(s)
	symbol: False(s)
	variable: False(s)
	fonthashint: True(s)
	order: 0(i)(s)
	namedinstance: False(s)
	fontwrapper: "SFNT"(s)

$ fc-query -b /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf
Pattern has 26 elts (size 32)
	family: "Droid Sans Fallback"(s)
	familylang: "en"(s)
	style: "Regular"(s)
	stylelang: "en"(s)
	fullname: "Droid Sans Fallback"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 80(f)(s)
	width: 100(f)(s)
	foundry: "1ASC"(s)
	file: "/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf"(s)
	index: 0(i)(s)
	outline: True(s)
	scalable: True(s)
	fontversion: 65536(i)(s)
	capability: "otlayout:cyrl otlayout:grek otlayout:hani otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: False(s)
	postscriptname: "DroidSansFallback"(s)
	color: False(s)
	symbol: False(s)
	variable: False(s)
	fonthashint: True(s)
	order: 0(i)(s)
	namedinstance: False(s)
	fontwrapper: "SFNT"(s)

$ fc-query /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf
Pattern has 28 elts (size 32)
	family: "Droid Sans Fallback"(s)
	familylang: "en"(s)
	style: "Regular"(s)
	stylelang: "en"(s)
	fullname: "Droid Sans Fallback"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 80(f)(s)
	width: 100(f)(s)
	foundry: "1ASC"(s)
	file: "/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf"(s)
	index: 0(i)(s)
	outline: True(s)
	scalable: True(s)
	charset:
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffdfed93 c1810040 578d3743
	0001: 080a0002 810e08c0 000c2e07 000008c0 00000000 00000000 1555400f 00000000
	0002: 0c000000 00000000 ffff0000 ffffffff ffffffff 1897ffff 6f033f80 00000011
	0003: ffff8d5b 3e1fffff 10000000 00000002 fffe0000 fffe03fb 000003fb 00000000
	0004: ffff0002 ffffffff 0002ffff 00000000 00000000 00000000 00000000 00000000
	000e: 00000000 80000000 00000000 00000000 00000000 00000000 00000000 00000000
	0011: 7037ffff 0044fa8d 03801081 00000000 40160130 ffffff02 b2885187 02174dc4
	0020: 337bf000 582d3ce7 00000380 80100000 0000001e 03ffffff 00000000 00000000
	0021: 114a0228 00280846 78180000 03ff0fff ffff0000 ffffffff ffffffff ffffffff
	0022: e4a29bad 30f05fa9 00041120 0000ccf3 02a000fc 80000020 00000020 00000000
	0023: 00040f00 00000000 00000000 00000000 00000000 00008000 00000000 00000000
	0024: 00000000 00000000 00000000 ffffffff ffffffff 003fffff ffff0000 000003ff
	0025: ffffffff ffffffff ffff0fff 001fffff 003cfffe 34cc07fb 0003cbc3 0000807c
	0026: 5000c060 00000000 fff00005 0000b7ff 0000003f 00000000 00000000 00000000
	0027: fffff3de fffffeff 7f47afff fffffffe ff1fffff 7ffeffff 00000000 00000000
	0029: 00000000 00000000 00000000 00000000 00000060 00000000 00000000 00000000
	0030: f3ffffef 000003fe fffffffe ffffffff 7e1fffff ffffffff ffffffff 787fffff
	0031: ffffffe0 fffe03ff ffffffff ffffffff 00007fff 00000000 00000000 00000000
	0032: 00000000 020603ff 00000000 80000000 00000000 000001f8 00000000 00000000
	0033: 01102008 084008cc 00822600 78000000 ffffff1f ffffffff 396fe7ff 00000000
	0034: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0035: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0036: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0037: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0038: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0039: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	003f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0040: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0041: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0042: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0043: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0044: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0045: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0046: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0047: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0048: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0049: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004d: ffffffff ffffffff ffffffff ffffffff ffffffff 003fffff 00000000 00000000
	004e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	004f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0050: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0051: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0052: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0053: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0054: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0055: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0056: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0057: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0058: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0059: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	005f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0060: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0061: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0062: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0063: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0064: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0065: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0066: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0067: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0068: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0069: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	006f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0070: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0071: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0072: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0073: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0074: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0075: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0076: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0077: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0078: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0079: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	007f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0080: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0081: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0082: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0083: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0084: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0085: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0086: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0087: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0088: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0089: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	008f: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0090: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0091: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0092: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0093: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0094: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0095: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0096: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0097: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0098: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0099: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009a: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009b: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	009f: ffffffff ffffffff ffffffff ffffffff ffffffff 0000003f 00000000 00000000
	00ac: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	00d7: 00000000 00000000 00000000 00000000 00000000 0000000c 00000000 00000000
	00f9: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	00fa: ffffffff 00003fff 00000000 00000000 00000000 00000000 00000000 00000000
	00fe: 03ff0000 fffb0000 fef7fe7f 00000f7f 00000000 00000000 00000000 00000000
	00ff: fffffffe ffffffff 7fffffff fffffffe ffffffff 00000000 00000000 2000007f
	0104: 00000001 00000100 0000e000 00000000 00000000 00000000 00000000 00000000
(s)
	lang: 
bg|fj|ho|ia|io|ja|kum|nr|om|os|ru|sel|sm|so|ss|st|sw|to|ts|uz|xh|zh-cn|zh-sg|zh-tw|zu|kj|kwm|lg|ms|ng|rn|rw|sn|za|agr|bem|cmn|hak|lzh|mhr(s)
	fontversion: 65536(i)(s)
	capability: "otlayout:cyrl otlayout:grek otlayout:hani otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: False(s)
	postscriptname: "DroidSansFallback"(s)
	color: False(s)
	symbol: False(s)
	variable: False(s)
	fonthashint: True(s)
	order: 0(i)(s)
	namedinstance: False(s)
	fontwrapper: "SFNT"(s)

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-03-26 18:10   ` Brian Inglis
@ 2024-04-20 12:06     ` Alejandro Colomar
  2024-04-20 13:00       ` Alejandro Colomar
  0 siblings, 1 reply; 9+ messages in thread
From: Alejandro Colomar @ 2024-04-20 12:06 UTC (permalink / raw
  To: linux-man; +Cc: branden, deri

[-- Attachment #1: Type: text/plain, Size: 4025 bytes --]

Hi Brian,

On Tue, Mar 26, 2024 at 12:10:00PM -0600, Brian Inglis wrote:
> On Sun, Mar 24, 2024 at 11:19:54PM -0500, G. Branden Robinson wrote:
> > At 2024-03-22T18:35:02+0100, Alejandro Colomar wrote:
> 
> Hi Branden, Alex,

Sorry for answering so late.  I've been very frustrated by not
understanding most of what I was being told.  Now that I have something
working with the Tinos, and that I understand how it works, I feel able
to understand this email of yours.

> > > I see that Debian provides the Tinos font in some package:
> ...
> > > Can we similarly get the Unifont for zh_CN PDFs?
> 
> You can check what you have installed using fontconfig utilities e.g.
> `fc-list :lang=zh` or Unicode points `fc-list :charset=code,beg-end,...` and
> disregarding other "complete" fallback fonts like Unifont,
> UnicodeBMPFallback, LastResort, I find I have DroidSansFallBack which I can
> investigate further as shown below.
> 
> A condensed list of code point ranges can be shown on a single line with
> `fc-list -f, --format 'FORMAT'` below, but include the file name, as
> sometimes the font configuration matches fonts other than requested or
> expected.
> 
> Fontconfig `fc-query file` shows the same information for font files (which
> need not be installed), as shown at bottom.
> 
> The charset dump is in lines of 256 codes, 20 per word, in big-endian? order.
> 
> Using option `fc-query -b` and avoiding `fc-list -v` skip the charset dump,
> or specifying the charset element shows all ranges on a single line!
> 
> TeXlive otfinfo options allow selective dumping of info including -u,
> --unicode but appears only to handle the first 64K BMP U+0000..U+FFFF.
> 
> Python package fonttools ttx can show info including cmap table as XML .ttx
> files, but defaults output to the font directory, so if using installed font
> paths, add `-d .` or `-o font.ttx` to avoid accidents if root!
> 
> You can also view a font in the GUI `xfd -fa DroidSansFallback`: jump with
> the [+16] button, scroll with the [Next] button; these seem to skip missing
> code points, but the display shows boxes in missing positions in the
> displayed range.
> 
> Tinos is a Google replacement for Windows Times New Roman, and seems to be
> part of the Google Noto collection of font packages, which includes
> "compatible" noto-cjk packages, and that/they should include those shown at:
> 
> 	https://fonts.google.com/?query=chinese
> 
> where you can browse each individually to access the "Get Font" then
> "Download all" [weights/variants] buttons.
> 
> As Tinos is a serif style, Noto [NO TOfu] Serif Simplified Chinese may match
> the style and meet your needs.
> 
> Of course, you then have to groff_font-ize the downloaded and installed font.

Hmmm, and that font comes in the same texlive-fonts-extra and
texlive-fonts-extra-links Debian packages, which is nice.  That'll make
it easier to get working than the Unifont, with which I'm having
problems at the moment.

I'll get the Noto font working in a moment.

I still think I may need the Unifont (or something else) for a few rare
characters that have been giving me warnings, but this will definitely
help.

I'll also later report the problems I get with Unifont, since I suppose
I'm doing something wrong.

> 
> > As I understand it, GNU Unifont is a low-resolution bitmap font intended
> > for terminal emulators.[2] I expect it would look offensively bad when
> > typeset.
> 
> Unifoundry.com GNU Unifont by Paul Hardy, Roman Czyborra, et.al. is an
> OpenType font, without combination form glyphs, redrawn based on bitmaps and
> not too bad, compared to e.g. DroidSansFallback which has a lot of tofu,
> especially for those of us who do not know what the glyphs should look like,
> and just want fallbacks to display everything without mojibake,
> UnicodeBMPFallback hex, LastResort range glyphs, or .notdef tofu.

Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: man-pages PDF book: fonts
  2024-04-20 12:06     ` Alejandro Colomar
@ 2024-04-20 13:00       ` Alejandro Colomar
  0 siblings, 0 replies; 9+ messages in thread
From: Alejandro Colomar @ 2024-04-20 13:00 UTC (permalink / raw
  To: linux-man; +Cc: branden, deri

[-- Attachment #1: Type: text/plain, Size: 665 bytes --]

Hi Brian,

On Sat, Apr 20, 2024 at 02:06:07PM +0200, Alejandro Colomar wrote:
> > As Tinos is a serif style, Noto [NO TOfu] Serif Simplified Chinese may match
> > the style and meet your needs.
> > 
> > Of course, you then have to groff_font-ize the downloaded and installed font.
> 
> Hmmm, and that font comes in the same texlive-fonts-extra and
> texlive-fonts-extra-links Debian packages, which is nice.  That'll make
> it easier to get working than the Unifont, with which I'm having
> problems at the moment.

Ahh, no, it doesn't.  The Noto that is packaged there is not Chinese.  :/

Cheers,
Alex

-- 
<https://www.alejandro-colomar.es/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-04-20 13:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-22 17:35 man-pages PDF book: fonts Alejandro Colomar
2024-03-25  4:19 ` G. Branden Robinson
2024-03-25 11:40   ` Alejandro Colomar
2024-03-25 11:48     ` Alejandro Colomar
2024-03-25 12:07     ` Alejandro Colomar
2024-03-25 18:36   ` James Cloos
2024-03-26 18:10   ` Brian Inglis
2024-04-20 12:06     ` Alejandro Colomar
2024-04-20 13:00       ` Alejandro Colomar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.