typography/opentype/parser

Procs

proc `%`(t: Table[int, int]): JsonNode {...}{.raises: [KeyError], tags: [].}
proc read[T](s: Stream; result: var T)
proc readUInt8(stream: Stream): uint8 {...}{.raises: [Defect, IOError, OSError, ValueError],
                                    tags: [ReadIOEffect].}
proc readInt8(stream: Stream): int8 {...}{.raises: [Defect, IOError, OSError, ValueError],
                                  tags: [ReadIOEffect].}
proc readUInt16(stream: Stream): uint16 {...}{.raises: [Defect, IOError, OSError, ValueError],
                                      tags: [ReadIOEffect].}
proc readUInt16Seq(stream: Stream; len: int): seq[uint16] {...}{.
    raises: [Defect, IOError, OSError, ValueError], tags: [ReadIOEffect].}
proc readInt16Seq(stream: Stream; len: int): seq[int16] {...}{.
    raises: [Defect, IOError, OSError], tags: [ReadIOEffect].}
proc readInt16(stream: Stream): int16 {...}{.raises: [Defect, IOError, OSError, ValueError],
                                    tags: [ReadIOEffect].}
proc readUInt32(stream: Stream): uint32 {...}{.raises: [Defect, IOError, OSError, ValueError],
                                      tags: [ReadIOEffect].}
proc readInt32(stream: Stream): int32 {...}{.raises: [Defect, IOError, OSError, ValueError],
                                    tags: [ReadIOEffect].}
proc readString(stream: Stream; size: int): string {...}{.
    raises: [Defect, IOError, OSError], tags: [ReadIOEffect].}
proc readFixed32(stream: Stream): float32 {...}{.raises: [Defect, IOError, OSError,
    ValueError], tags: [ReadIOEffect].}
proc readFixed16(stream: Stream): float32 {...}{.raises: [Defect, IOError, OSError,
    ValueError], tags: [ReadIOEffect].}
proc readLongDateTime(stream: Stream): float64 {...}{.
    raises: [Defect, IOError, OSError, ValueError], tags: [ReadIOEffect].}
proc fromUTF16BE(input: string): string {...}{.raises: [Defect, IOError, OSError, ValueError],
                                      tags: [ReadIOEffect].}
Converts UTF16 to utf8 string.
proc readNameTable(f: Stream): NameTable {...}{.raises: [Defect, IOError, OSError, ValueError],
                                       tags: [ReadIOEffect].}
proc readMaxpTable(f: Stream): MaxpTable {...}{.raises: [Defect, IOError, OSError, ValueError],
                                       tags: [ReadIOEffect].}
proc readOS2Table(f: Stream): OS2Table {...}{.raises: [Defect, IOError, OSError, ValueError],
                                     tags: [ReadIOEffect].}
proc readLocaTable(f: Stream; head: HeadTable; maxp: MaxpTable): LocaTable {...}{.
    raises: [Defect, IOError, OSError, ValueError], tags: [ReadIOEffect].}
proc readHheaTable(f: Stream): HheaTable {...}{.raises: [Defect, IOError, OSError, ValueError],
                                       tags: [ReadIOEffect].}
proc readHmtxTable(f: Stream; maxp: MaxpTable; hhea: HheaTable): HmtxTable {...}{.
    raises: [Defect, IOError, OSError, ValueError], tags: [ReadIOEffect].}
proc readKernTable(f: Stream): KernTable {...}{.raises: [Defect, IOError, OSError, ValueError],
                                       tags: [ReadIOEffect].}
proc readCmapTable(f: Stream): CmapTable {...}{.raises: [Defect, IOError, OSError, ValueError],
                                       tags: [ReadIOEffect].}
proc readGlyfTable(f: Stream; loca: LocaTable): GlyfTable {...}{.
    raises: [Defect, IOError, OSError], tags: [].}
proc parseGlyph(glyph: Glyph; font: Font) {...}{.raises: [Defect, IOError, OSError,
    ValueError, Exception], tags: [ReadIOEffect, RootEffect].}
proc readFontOtf(f: Stream): Font {...}{.raises: [Defect, IOError, OSError, ValueError,
                                        KeyError], tags: [ReadIOEffect].}
proc readFontOtf(filePath: string): Font {...}{.raises: [IOError, Defect, OSError,
    ValueError, KeyError], tags: [ReadDirEffect, ReadIOEffect].}
proc readFontTtf(file: Stream): Font {...}{.raises: [Defect, IOError, OSError, ValueError,
    KeyError], tags: [ReadIOEffect].}
OTF Supports all TTF features.
proc readFontTtf(filePath: string): Font {...}{.raises: [IOError, Defect, OSError,
    ValueError, KeyError], tags: [ReadDirEffect, ReadIOEffect].}
OTF Supports most of TTF features.