[package] name = "llimphi-glifos" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true publish.workspace = true description = "llimphi-glifos — atlas de cobertura de glifos para el camino GPU-directo. Rasteriza cada glifo una sola vez a un mapa de 8 bits, lo empaqueta en una textura por estantes y devuelve el rect UV + la colocación. Es lo que le faltaba a `llimphi_raster::GpuBatch` para poder pintar texto: el batcher instanciado sabe de quads, no de contornos." [dependencies] # parley DIRECTO y con la MISMA declaración que `llimphi-text`: los dos crates # tienen que ver el mismo `parley::Layout`, y una versión suelta acá metería dos # parley en el grafo — el error más desorientador posible («expected Layout, # found parley::Layout»). Sin defaults por la misma razón que allá: su # `default = ["system"]` arrastra fontconfig/objc2/windows por fontique. # # Con `std` porque este crate es de anfitrión: rasteriza para una GPU, que en # wawa no existe. Sin él, el skrifa que parley trae por dentro queda `no_std` y # no compila (le faltan `sqrt`/`hypot`/`round` de f32) — el modo `libm` es para # el camino bare-metal, y éste no lo es. parley = { version = "0.6", default-features = false, features = ["std"] } # swash con `scale` + `render`, que es lo único que este crate agrega al árbol. # parley ya lo trae —lo usa para shapear— pero con `default-features = false`, # así que el *rasterizador* no está enlazado hasta que alguien lo pida. Este # crate es quien lo pide, y ésa es la razón de que sea un crate aparte y no un # módulo de `llimphi-text`: nadie más quiere `yazi` ni `zeno` en su binario. swash = { version = "0.2", default-features = false, features = ["std", "scale", "render"] }