RFS: 0ad

Philip Taylor excors at gmail.com
Thu Apr 7 15:33:47 UTC 2011


On Wed, Apr 6, 2011 at 1:24 AM, Paul Wise <pabs at debian.org> wrote:
> On Wed, Apr 6, 2011 at 12:05 AM, Philip Taylor <excors at gmail.com> wrote:
>>>> DejaVuSans.ttf, DejaVuSansMono.ttf, texgyrepagella-regular.otf,
>>>> texgyrepagella-bold.otf are unmodified originals.
>>>
>>> Best remove these and package the ones that aren't yet in Debian separately.
>>
>> We don't use those files at build-time or at run-time (they're only
>> used at development-time), so there would be no point packaging them
>> for users. I can exclude those files from the distribution script
>> since that seems the easiest solution.
>
> It sounds like you're embedding glyphs from the fonts in bitmap
> images.

Yes (e.g. http://trac.wildfiregames.com/browser/ps/trunk/binaries/data/mods/public/fonts/serif-14.png)

> I would suggest at minimum that you switch to doing that at
> build-time. Preferably you would render text at run-time, since that
> enables i18n. For finding font files use fontconfig (preferred) and or
> a build-time parameter for finding them.

My main concern is that that wouldn't provide sufficient consistency -
different versions of Freetype, or the same version with different
configuration (bytecode interpreter, autohinter, etc), might render
the same font quite differently and break the look of the game.
(Getting a font that renders nicely with recolouring and textured
backgrounds and non-native monitor resolutions and with an
outline-stroked variant etc seems tricky - they often look fine in a
desktop application but not in the game). That problem applies equally
to run-time and build-time. Distributing pre-built bitmaps seems to me
the only way to be able to verify and guarantee the rendering quality
across all environments.

I think i18n for languages with small alphabets (Latin, Cyrillic, etc)
is easily handled by sticking more glyphs in the bitmap. I expect
large sets of glyphs (presumably CJK) or complex shaping (presumably
Arabic etc) will need a different implementation, but I'd prefer to
have the game support two text rendering modes simultaneously rather
than compromising the quality of the primary languages, if there isn't
a solution that works equally well for all.

> If you are running this stuff on Debian, please note that there is an
> nsis package so you do not need to involve wine at all here. Other
> Linux distributions probably have nsis packages too

Thanks, I'd forgotten about that. I'm currently on Gentoo so the
package requires a cross-compiler environment, which seems less
trivial to set up than using Wine, but it's probably a better
long-term solution.

-- 
Philip Taylor
excors at gmail.com



More information about the Pkg-games-devel mailing list