El dijous, 16 d’octubre del 2025, a les 15:45:26 (Hora d’estiu d’Europa central), Martin Owens va escriure: > Thank you Albert, > > On Thu, 2025-10-16 at 01:11 +0200, Albert Astals Cid wrote: > > We can not make CairoFontEngine public, it uses GfxFont and PDFDoc on > > its API. > > I don't believe it's needed. > > > That would mean basically mean all poppler core public and it's not > > what we > > want. > > > > What you would need to do is add some API (would you use the glib > > frontend? or > > the cpp one?) that exercises CairoFontEngine internally and returns > > classes > > that don't have dependency on the poppler internals, i.e. something > > like > > poppler_page_get_text_page that uses TextOutputDev internally but the > > user of > > the API never sees that. > > If like state->getFont() -> GfxFont there was a state->getCairoFont() - > CairoFont, we could then pass that to `cairo_set_font_face`.
What is "state" in that pseudocode? a GfxState? It can not conjure cairo fonts from thin air, poppler does not use cairo (unless you're using a CairoOutputDev). Cheers, Albert > There's not a lot we can move into poppler though as we'd be doing the > oposite of moving Inkscape's code into yours in order to output > correctly transformed pathvectors. I'm not sure how much of that you'd > like to hold. > > Best Regards, Martin Owens
