All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: fonts for gfxmenu, help needed
Date: Wed, 25 Nov 2009 11:32:27 +0100	[thread overview]
Message-ID: <4B0D07BB.9060400@gmail.com> (raw)
In-Reply-To: <a5d587fb0911250101s53a34ccbo7d681ab6a74f3248@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5010 bytes --]

Michal Suchanek wrote:
> 2009/11/25 Robert Millan <rmh@aybabtu.com>:
>   
>> On Tue, Nov 24, 2009 at 08:43:30PM +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
>>     
>>> I identified number of fonts as one of the reason of gfxmenu needing
>>> important amount of time to load. I prefer to have few nice looking free
>>> fonts with reasonable unicode coverage (we'll need it because of
>>> gettext) and load only ones really needed
>>> [...]
>>>       
>>>> I think that true bitmap fonts will look much, much better than
>>>> converted outline fonts, but perhaps if we added an 8-bit alpha channel
>>>> to the font format and grub-mkfont could do anti-aliasing during the
>>>> conversion process; then I think we could make use of all the free
>>>> outline fonts
>>>>         
>>> I'm ok wth doing any kind of preprocessing in grub-mkfont but grub2 has
>>> to remain simple in order to ensure reasonable performance even on slow
>>> system (curren't it's not the case and more work is needed for
>>> optimising it)
>>>       
>> I understand there's a lot of room for improvement, but it'd be interesting to
>> start providing a basic set of fonts so that we get the ball rolling and
>> theme authors can beging doing their artist work.
>>
>> Has someone obtained a working multi-size setup with grub-mkfont + unifont?
>> Currently I just know that the default ascii.pf2 works (but doesn't have any
>> single-size theme that would play well with it).
>>
>>     
>
> As I said that's pretty much impossible.
>
> unifont.ttf is just the bitmap squares recorded as outline, and even
> if you generate multiple sizes of bitmaps from that (and most of these
> are bound to be ugly bordering on useless) you still get only a single
> face which would not be acceptable for most theme authors.
>
> I would suggest looking at the bitmap fonts which used to be installed
> with X. They provide bitmaps in multiple sizes for multiple languages
> although the unicode coverage is much poorer than with unifont.
>
> Other thing we might try is scaling the font in grub itself. This is
> poor typography because proper scalable fonts are adjusted for
> different sizes, the outlines aren't simply scaled.
>   
Your statements are contradictory. First you say that scaling is bad and
shouldn't be used in grub-mkfont but then you tell to use the same
approach in grub.
The best way to choose between pre-scaling and scaling in grub is
benchmarking. Multiple fonts take longer to load but scaling even with
caching is likely to cause more performance hit.
How much fonts does an author need? We need either decrease number of
fonts simultaneously used or have faster font loader (both in preference).
As Robert said most important is to get things going and theme creators
can use other free fonts as well
>
> Note that with truetype fonts most fonts (besides the crappy
> English-only fonts) specialize on a family of languages that use the
> same writing system and the glyphs for other writing systems tend to
> be poorly drawn or non-existent.
>
> This is understandable as no font author can possibly know how the
> glyphs for all the various languages fit together. This also means
> that
>
>  - you typically have to install fonts specifically for language(s)
> you intend to use
>
>  - glyph fallback is integral part of any decent font system. Some try
> to determine the nearest matching font automatically with varying
> success, in some systems you can specify different fonts for different
> unicode ranges (which are then scaled to fit together).
>   
We have fallback system but again it would mean more fonts to load.
Perhaps we can use unifont as fallback (this way scaling artifacts are
less of the problem as user usually wouldn't have symbols outside of
normal coverage)
>  - there is a problem with Simplified Chinese/Traditional
> Chinese/Japanese. Some of the glyphs used by these writing systems
> have the same unicode codepoint but are slightly different in each. To
> get these rendered correctly you need special font for each. Blame the
> Unicode people.
>
>   
Let's not get into Unihan flamewar. There are other problems with other
languages which are more serious. Here are few of them:
1) combining diacritics.
2) ligatures. Important for indic languages
3) context variants. Important for Arabic writing system.
4) bidi. Important for Hebrew and Arabic writing system.

Generally current gfxterm is pretty much unsuited for any of these 4
problems. And gotoxy is pretty ambiguous in bidi context
Few useful links:
http://en.wikipedia.org/wiki/Help:Multilingual_support
http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Unicode/Test/arabe

> Thanks
>
> Michal
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/grub-devel
>
>   


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 293 bytes --]

  reply	other threads:[~2009-11-25 10:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-24 12:10 fonts for gfxmenu, help needed Robert Millan
2009-11-24 15:27 ` Michal Suchanek
2009-11-24 17:35   ` Robert Millan
2009-11-24 19:06     ` Colin D Bennett
2009-11-24 19:43       ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-24 23:20         ` Robert Millan
2009-11-25  9:01           ` Michal Suchanek
2009-11-25 10:32             ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2009-11-25 11:12               ` Michal Suchanek
2009-11-25 11:36                 ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-25 12:29                   ` Michal Suchanek
2009-11-25 13:17                     ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-25 13:57                   ` feng shu
2009-11-25 16:04                     ` Michal Suchanek
2009-11-25 17:42                       ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-25 21:51                         ` Michal Suchanek
2009-11-26  2:58                         ` feng shu
2009-11-26  3:11                       ` feng shu
2009-11-25 11:15           ` Michal Suchanek
2009-11-25 11:38             ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-24 18:12   ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-24 18:29     ` Felix Zielcke
  -- strict thread matches above, loose matches on Subject: below --
2009-11-26  4:38 Qianqian Fang
2009-11-26  9:11 ` Felix Zielcke
2009-11-26 15:27   ` Qianqian Fang
2009-11-26 22:14     ` Michal Suchanek
2009-11-27  0:48       ` Qianqian Fang
2009-11-27  0:51         ` Qianqian Fang
2009-11-27  9:42         ` Michal Suchanek
2009-11-28  1:46           ` Qianqian Fang
2009-11-28 21:53             ` Michal Suchanek
2009-11-28 22:33               ` Qianqian Fang
2009-11-28 22:43               ` Qianqian Fang
2009-11-29 11:19                 ` Michal Suchanek
2009-11-29 16:14                   ` Qianqian Fang
2009-11-29 16:23                     ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-29 17:10                       ` Qianqian Fang
2009-11-29 19:36                         ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-11-30  2:15                           ` Qianqian Fang
2009-11-30  9:44                     ` Michal Suchanek
2009-11-30 15:24                       ` Qianqian Fang
2009-11-30 16:10                         ` Michal Suchanek
2009-12-05 21:50                           ` Michal Suchanek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B0D07BB.9060400@gmail.com \
    --to=phcoder@gmail.com \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.