Re: Cairo PDFs - vector or raster?

Behdad Esfahbod <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On 15-04-26 10:34 PM, C. Thomas Stover wrote:
> On Sat, 25 Apr 2015 15:28:37 +0930, Adrian Johnson wrote:
> 
>> Cairo PDF and PS output uses embedded fonts for drawing text. The
>> embedded fonts are subsetted to remove unused glyphs while being careful
>> to preserve font hinting. The encoding used depends on the output format
>> and the characters used.
>>
>> For PDF, glyphs that map to characters in the PDF WinAnsiEncoding are
>> placed in an 8-bit font with that encoding. Other glyphs are placed in a
>> 16-bit font with a custom encoding (the glyphs ids are assigned
>> sequentially starting from 1). A ToUnicode map and optionally ActualText
>> is embedded to allow extracting the unicode characters for the glyphs.
>> Cairo user fonts are embedded using Type 3 fonts.
>>
>> Most of the font subsetting code is shared by PS and PDF. The PS
>> embedded fonts are the same as PDF with a couple of exceptions:
>>
>> - PS does not have a builting WinAnsiEncoding. Instead we create a
>> custom 8-bit font with the same encoding.
>>
>> - While it is possible to create PS composite fonts with a 16-bit
>> encoding, we use only 8-bits fonts. Multiple 8-bit fonts are used to
>> contain all glyphs that don't map the WinAnsi encoding.
> 
> Thanks so much for your answer! That explains so much. Maybe you can 
> comment on these.
> 
> 1. Is the font rendering logic deterministic / predictable enough, such 
> that given a font, one could compute the sizes of rendered text with 
> enough confidence that the same result would be yielded from PS / PDF 
> viewers, printer drivers, and printer firmware? I would imagine the 
> answer is probably something like "usually". Is it just font metrics + 
> kerning tables + ligatures substitutions, or are there more variables?

The kerning, ligatures, etc happen before PDF generation.  PDF records the
exactly glyph indices and locations to show them.


> 2. Are the font metrics needed for the above rendering computations read 
> from font files, hard coded tables, font "metrics" files, or combinations?
> 
> 3. Some sources talk about a set of core fonts that some versions of PS 
> and PDF support are guaranteed to have, yet those particular fonts have 
> limited character code point coverages. Are these fonts ever used in 
> cairo?

Definitely limited charset.  Don't remember if cairo uses them.  Guess not.


> 4. How much of this is done by cairo vs pango? Does pango do the size 
> computations and cairo do the composite font file creations?


Yes.  Pango does layout, cairo does font subsetting and embedding (including
composite fonts).

-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.