def ttf.cmap4.gid

gralha-truetype@0.1.0.1 · font.bend:686

import gralha-truetype@0.1.0.1/font.bend as Font
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U
import gralha-bytes@0.1.0.1/bytes.bend as Bin

686def ttf.cmap4.gid(+b: Bin.Bytes, +sub: U32, +cp: U32) -> U32:
687  +segX2 = ttf.u16(b, (sub + 6 : U32))
688  +count = U32.div(segX2, 2)
689  +i = ttf.cmap4.find(b, 20n, sub, 0, count, cp)
690  +start = ttf.u16(b, (sub + 16 + segX2 + i * 2 : U32))
691  +delta = ttf.u16(b, (sub + 16 + segX2 * 2 + i * 2 : U32))
692  +roAt = (sub + 16 + segX2 * 3 + i * 2 : U32)
693  U.branch(U32, U32.is_gt(cp, 65534) || U32.is_ge(i, count) || U32.is_lt(cp, start), _ => 0, _ => ttf.cmap4.glyph(b, cp, start, delta, roAt, ttf.u16(b, roAt)))

Uses (13)

Used by (1)