FYI. Begin forwarded message:
From: bohoomil <infinalityfonts@> Date: June 24, 2014 22:54:14 CEST To: René J.V. Bertin <rjvbertin@> Subject: Re: infinality in/under MacPorts
On 24.06.14 at 10:40, René J.V. Bertin wrote:
Hi again,
I'm glad that freetype2 was built successfully. Let me answer the questions now.
On Tuesday June 24 2014, René J.V. Bertin wrote regarding "Re: infinality in/under MacPorts"
freetype-2.5.3-enable-valid.patch upstream-15.05.2014.patch infinality-2.5.3.patch
Ok, that explains things - hopefully (:) ) Does one still get the offset corrections on the aflatin.c file as I got using only the infinality-2.5.3 patch?
The offset is not a problem: it merely means that the patching application found the code in a different location than expected. The context of the code to be altered was correct, though: if it hadn't been, the patching would have been interrupted.
Do you know of any legal obstacles that would explain why this has never been done by X.org? No (L)GPL-3 licensing on any of the patches, which would be a no-go for Apple?
Not really. As per freetype2 home page, the patents related to bytecode interpreter expired in May 2010. As a result, last year quite a few bits from Infinality patchset were included in the official freetype2 code base. The rest of the Infinality code extends configuration capabilities of the TrueType interpreter.
The author of Infinality patchset hasn't been active for almost a year now. I merely maintain the patches and, as far as my knowledge allows, try to adapt them to recent freetype2 releases. Besides, I develop fontconfig-infinality-ultimate library as a companion to freetype2-iu, plus alternative Infinality settings. The complete collection of software in binary packages is available in the repository for Arch Linux users. Other distributions can use it all the same: all they need to do is grab the code, patch the stock libraries and use additional configuration files.
You mean 3 patches, right, or 3 packages? MacPorts doesn't usually split up projects into multiple packages as is custom under Debian (I don't really know about Arch).
To make best use of Infinality patches, you need three libraries tailored to properly work together:
1. freetype2 -- in my project freetype2-infinality-ultimate, 2. fontconfig -- in my project fontconfig-infinality-ultimate, 3. cairo -- again, in my project, cairo-infinality-ultimate.
Each component is built separately and serves a different purpose. I'm currently working on a documentation that would cover in details what a maintainer of the packages for their distros should take care of in order to create a fully working and robust Infinality environment, the same one I develop for Arch Linux. Briefly, take a look at the pkgbuild branch of the GitHub repo and inspect three top-level packages: freetype2-iu, fontconfig-iu and cairo-iu. The `prepare` arrays in respective PKGBUILD scripts will give you an idea as of which patches should be used for each package, and `package` arrays which additional files should be copied during installation. It's actually a pretty straightforward process: copy & paste & a bit of logic will do most of the job.
BTW, to what extent is it obligatory to have the fontconfig infinality patches included? Are those required for basic functionality, or do they "just" provide goodies like per-font tweaking?
fontconfig-infinality-ultimate is a required component of the Infinality-compliant software collection, as is my infinality-settings.sh.
I didn't think of making a screenshot before installing the variant
Just for the record: this is what Novarese Bk BT Bold looks like on my machine (all the pieces of software and config files come from my repo; I just created an additional fontconfig config file for the Novarese font):
http://bohoomil.com/img/arch_shots/2014-06-24_novarese-bold-gtk.png http://bohoomil.com/img/arch_shots/2014-06-24_novarese-bold-ff.png
Well, I hope you'll find any of the above snippets handy. Good luck and happy tweaking. ;)
Best regards,
bohoomil