[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] Want to work on a project to add support for the 'SVG ' O
From: |
armin |
Subject: |
Re: [ft-devel] Want to work on a project to add support for the 'SVG ' OpenType table to render color fonts. |
Date: |
Mon, 4 Mar 2019 21:35:27 -0000 |
Hi Alekh,
> I had also discussed about *librsvg* by GNOME as potential library that can
> fit the job.Although as told by Werner Sir it is porting to rust but still its
> API is in C.
`librsvg-2' looks fine to me: it is widely supported (on Linux at least),
developed by a trustworthy team, and proven to be stable + fast. Rust as
source language doesn't put me off (for all I care it can be JavaScript as long
as it works :P); `librsvg-2' would solely be used as a prebuilt library (like
`libpng' is being used already).
> Whether to edit both Glyph positioning(otvgpos.c) and substitution tables
> (otvgsub.c) or only positioning,I want to know about this.
I am not sure about that, Werner might have an answer for you there :)
> And rather than creating a new module editing API stuff by defining function
> to transfer data from font table to the external library and bitmap output
> back to Freetype can prove to work.
There is enough time to discuss both approaches within GSoC but since you're
bringing it up: what's keeping you off the module approach? To me, a
proxy/wrapper seems a lot cleaner and reusable.
> Sir, please suggest me how can i test Freetype 2 to analyse the changes.And I
> will welcome any other suggestions.
I am sure you have cloned and built FreeType from
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/ by now. For quick
first tests, I would take a random SVG font, and follow the online tutorial
(https://www.freetype.org/freetype2/docs/tutorial/index.html) to try to load it
(use `dlopen' with _your_ compiled version of FreeType). As soon as you have
managed to load the SVG file (with _your_ build), start making changes to
FreeType itself, recompile it, and see how things change :)
Best Armin