[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems building the unifont PFA and DIT files for the PDF book
From: |
Alejandro Colomar |
Subject: |
Re: Problems building the unifont PFA and DIT files for the PDF book |
Date: |
Sun, 21 Apr 2024 00:32:59 +0200 |
Hi Brian,
On Sat, Apr 20, 2024 at 02:11:55PM -0600, Brian Inglis wrote:
> On 2024-04-20 09:52, G. Branden Robinson wrote:
> > At 2024-04-20T14:26:17+0200, Alejandro Colomar wrote:
> > > First problem:
> > >
> > > In the Unifont, I don't see a "Regular" font. I assumed I should take
> > > the unifont.otf file.
>
> Hi folks,
>
> That's the BMP ~63.5k characters ~57k glyphs; unifont_upper are the SMP
> ~57.5k glyphs with specialized scripts and extended graphics like emojis:
> unlikely to be required for any LGC man pages.
>
> https://unifoundry.com/unifont/index.html
Thanks!
> > Since (I believe I saw you say that) you're using GNU Unifont only to
> > patch up missing code point coverage from other fonts, in your
> > application it probably makes sense to specify it as a "special" font.
> >
[...]
> OpenType fonts are normally designed with an 1000 units/em, and Truetype may
> be 1024 or 2048 units/em, so should use 333 or maybe 300 if you prefer a
> tighter look, close to your suggestion.
>
> $ ttfdump /usr/share/fonts/urw-base35/NimbusRoman-Regular.otf | awk
> "/'head'/,/^$/"
> 6. 'head' - checksum = 0x0cdb53f2, offset = 0x00016f4c, len = 54
> 7. 'hhea' - checksum = 0x06b6057b, offset = 0x00016f84, len = 36
> 8. 'hmtx' - checksum = 0x35d9ae6c, offset = 0x00016fa8, len = 3420
> 9. 'maxp' - checksum = 0x03575000, offset = 0x00017d04, len = 6
> 10. 'name' - checksum = 0x8993f63c, offset = 0x00017d0c, len = 620
> 11. 'post' - checksum = 0xffb10032, offset = 0x00017f78, len = 32
>
> 'head' Table - Font Header
> --------------------------
> 'head' version: 1.0
> fontReversion: 1.0
> checkSumAdjustment: 0x69d6e98e
> magicNumber: 0x5f0f3cf5
> flags: 0x0003
> unitsPerEm: 1000
> created: 0x00000000d5420807
> modified: 0x00000000d5420807
> xMin: -168
> yMin: -281
> xMax: 1000
> yMax: 1053
> macStyle bits: 0x0000
> lowestRecPPEM: 3
> fontDirectionHint: 2
> indexToLocFormat: 0
> glyphDataFormat: 0
>
> For comparison Tinos ttf substitute for Times Roman:
>
> $ ttfdump /usr/share/fonts/tinos/Tinos-Regular.ttf | awk "/'head'/,/^$/"
> 12. 'head' - checksum = 0x0bd978fc, offset = 0x0000015c, len = 54
> 13. 'hhea' - checksum = 0x19811ca6, offset = 0x00000194, len = 36
> 14. 'hmtx' - checksum = 0xa4bce0e7, offset = 0x00000238, len = 13116
> 15. 'kern' - checksum = 0xa39da9f5, offset = 0x0008d6f8, len = 5220
> 16. 'loca' - checksum = 0x28e2bf88, offset = 0x0001a45c, len = 13120
> 17. 'maxp' - checksum = 0x10d405bc, offset = 0x000001b8, len = 32
> 18. 'name' - checksum = 0xc3ff0ad5, offset = 0x0008eb5c, len = 2052
> 19. 'post' - checksum = 0xe841b7c5, offset = 0x0008f360, len = 34664
> 20. 'prep' - checksum = 0xbd48485c, offset = 0x00019b40, len = 1550
>
> 'head' Table - Font Header
> --------------------------
> 'head' version: 1.0
> fontReversion: 1.20736
> checkSumAdjustment: 0x84b246c2
> magicNumber: 0x5f0f3cf5
> flags: 0x001b
> unitsPerEm: 2048
> created: 0x00000000c844d0ce
> modified: 0x00000000d25f0c4c
> xMin: -1114
> yMin: -797
> xMax: 5728
> yMax: 2068
> macStyle bits: 0x0000
> lowestRecPPEM: 9
> fontDirectionHint: 2
> indexToLocFormat: 1
> glyphDataFormat: 0
>
> > [1] I do observe that the URW font descriptions shipped by groff include
> > a special character called "space". Syntactically, this would be
> > accessed within a groff document via a special character escape
> > sequence: `\[space]`. I've never seen a document do this. I admit
> > that I don't have any idea why this is present or what its semantics
> > are: I need a PostScript or PDF expert to tell me.[2] It does occur
> > to me that we might enhance afmtodit make of use of it as the
> > default "spacewidth".
> >
> > [2] Or I can self-help; I have copies of the _PostScript Language
> > Reference Manual_ (3rd ed.) and a version of ISO 32000 lying around.
>
> But Unifont uses 64 units/em, so 20-21?
Thanks!!!
I've tried to build the Chinese man-pages book for shadow, but I still
don't get Chinese letters, so I wasn't able to test this value, but I'll
try debugging it in the following days.
Anyway, I've applied this value in a commit that I'll push tomorrow to
the Linux man-pages' master branch.
Have a lovely night!
Alex
--
<https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature