serenity/Userland
Rodrigo Tobar c084943457 LibPDF: Index Type1 glyphs by name, not char code
Storing glyphs indexed by char code in a Type1 Font Program binds a Font
Program instance to the particular Encoding that was used at Font
Program construction time. This makes it difficult to reuse Font Program
instances against different Encodings, which would be otherwise
possible.

This commit changes how we store the glyphs on Type1 Font Programs.
Instead of storing them on a map indexed by char code, the map is now
indexed by glyph name. In turn, when rendering a glyph we use the
Encoding object to turn the char code into a glyph name, which in turn
is used to index into the map of glyphs.

This is the first step towards reusability of Type1 Font Programs. It
also unlocks the ability to render glyphs that are described via the
"seac" command (standard encoding accented character), which requires
accessing the base and accent glyphs by name.
2023-02-08 19:47:15 +01:00
..
Applets AK: Move Stream and SeekableStream from LibCore 2023-01-29 19:16:44 -07:00
Applications Debugger: Support attaching to a running process 2023-02-08 19:23:07 +01:00
BuggieBox Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00
Demos LibGUI+Userland: Switch order of parameters for InputBox::show 2023-02-04 18:46:39 -07:00
DevTools SQLStudio: Display real column names in the results tab 2023-02-03 20:34:45 +01:00
DynamicLoader Everywhere: Remove "LibC/" includes, add lint-rule against it 2023-01-07 10:01:37 -07:00
Games Chess+LibChess: Avoid using DeprecatedString whenever possible 2023-02-06 10:18:16 +00:00
Libraries LibPDF: Index Type1 glyphs by name, not char code 2023-02-08 19:47:15 +01:00
Services AK: Remove the fallible constructor from FixedMemoryStream 2023-02-08 17:44:32 +00:00
Shell AK: Move memory streams from LibCore 2023-01-29 19:16:44 -07:00
Utilities AK: Remove the fallible constructor from FixedMemoryStream 2023-02-08 17:44:32 +00:00
CMakeLists.txt Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00