Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.misc > #14818 > unrolled thread

how do fonts work in a modern linux system?

Started byEli the Bearded <*@eli.users.panix.com>
First post2015-05-21 00:12 +0000
Last post2015-05-21 11:02 +0100
Articles 7 — 4 participants

Back to article view | Back to comp.os.linux.misc


Contents

  how do fonts work in a modern linux system? Eli the Bearded <*@eli.users.panix.com> - 2015-05-21 00:12 +0000
    Re: how do fonts work in a modern linux system? The Natural Philosopher <tnp@invalid.invalid> - 2015-05-21 09:13 +0100
      Re: how do fonts work in a modern linux system? The Natural Philosopher <tnp@invalid.invalid> - 2015-05-21 09:21 +0100
        Re: how do fonts work in a modern linux system? The Natural Philosopher <tnp@invalid.invalid> - 2015-05-21 22:36 +0100
      Re: how do fonts work in a modern linux system? Eli the Bearded <*@eli.users.panix.com> - 2015-05-21 20:39 +0000
    Re: how do fonts work in a modern linux system? Michael Baeuerle <michael.baeuerle@stz-e.de> - 2015-05-21 09:22 +0000
      Re: how do fonts work in a modern linux system? Tim Watts <tw_usenet@dionic.net> - 2015-05-21 11:02 +0100

#14818 — how do fonts work in a modern linux system?

FromEli the Bearded <*@eli.users.panix.com>
Date2015-05-21 00:12 +0000
Subjecthow do fonts work in a modern linux system?
Message-ID<eli$1505201931@qz.little-neck.ny.us>
Prompted by trying to see the Emojic 8 Ball (https://xkcd.com/1525/)
results, I went looking for emoji fonts. I found Symbola here:

http://users.teilar.gr/~g1951d/

and put it in ~/.fonts, which is a configured font directory in my
system /etc/fonts/fonts.conf. I can now see some emoji characters, eg
U+1F3E8 "Hotel", in Firefox whereas before installing Symbola I could
not. I'm still not able to see the characters in the xkcd page.

This shows me battery and kiss:

http://www.panix.com/~eli/unicode/show.cgi?show=U%2B1f50b+U%2B1f48f&type=list

On the Emojic 8 Ball, I get a rectangle with "01F 50B" and a rectangle
with "01F 48F".

(And in xterms, I get the circle with a question mark glyph that gets
put in for some unknown characters (others get a empty rectange box).)

There upon I wanted to know, how does this all work?

Reading fontconfig-user.html, I don't find myself enlightened. That
seems to mostly concern itself with how fonts are located by name. It
might be relevant, if the emoji are not found because xkcd is naming a
particular font which I have but which does not contain the characters.
But I'd first need to know how it all works. 

Some questions: if a font is requested, eg, by CSS, does that take
precedence over actually printing a character if that code point isn't
in that font but is in another system font? Could that be why my xterm
can display braille, but not U+3020 "Postal Mark Face"? The unicode
tools page linked above does not name any particular fonts.

Why does xlsfonts show me a huge number of things, but not my Symbola?

Is there an easy, command line, way to find the code-points covered by a
particular font file (installed or not)? How does a program like xterm
or Firefox find a font to use?

Does this font system recognize that, eg, Arabic symbols are often much
different in different languages? Can I find which code-points are
covered in a particular language's style?

Can fonts ever contain color? Prior to emoji, it was not common to want
a color symbol in a font, but now it might be appropriate.

What other questions should I be asking?

Elijah
------
knows a lot of other system internals, but has not studied fonts

[toc] | [next] | [standalone]


#14819

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2015-05-21 09:13 +0100
Message-ID<mjk444$uqi$1@news.albasani.net>
In reply to#14818
On 21/05/15 01:12, Eli the Bearded wrote:
> Prompted by trying to see the Emojic 8 Ball (https://xkcd.com/1525/)
> results, I went looking for emoji fonts. I found Symbola here:
>
> http://users.teilar.gr/~g1951d/
>
> and put it in ~/.fonts, which is a configured font directory in my
> system /etc/fonts/fonts.conf. I can now see some emoji characters, eg
> U+1F3E8 "Hotel", in Firefox whereas before installing Symbola I could
> not. I'm still not able to see the characters in the xkcd page.
>
> This shows me battery and kiss:
>
> http://www.panix.com/~eli/unicode/show.cgi?show=U%2B1f50b+U%2B1f48f&type=list
>
> On the Emojic 8 Ball, I get a rectangle with "01F 50B" and a rectangle
> with "01F 48F".
>
> (And in xterms, I get the circle with a question mark glyph that gets
> put in for some unknown characters (others get a empty rectange box).)
>
> There upon I wanted to know, how does this all work?
>

Got me foxed - the font in play on my systems is arial/lucida etc in 
that page.

The actual elements are displayed via a javascript program that just 
outputs stuff like '&#x1F301;'

Which is odd because the page itself is coded UTF8...


> Reading fontconfig-user.html, I don't find myself enlightened. That
> seems to mostly concern itself with how fonts are located by name. It
> might be relevant, if the emoji are not found because xkcd is naming a
> particular font which I have but which does not contain the characters.
> But I'd first need to know how it all works.
>

It doesn't seem to be doing that, no.

> Some questions: if a font is requested, eg, by CSS, does that take
> precedence over actually printing a character if that code point isn't
> in that font but is in another system font? Could that be why my xterm
> can display braille, but not U+3020 "Postal Mark Face"? The unicode
> tools page linked above does not name any particular fonts.
>
It seems not. that page does not appear to specify a particularly outré 
font, just some particularly outré characters


> Why does xlsfonts show me a huge number of things, but not my Symbola?
>
Pass.

> Is there an easy, command line, way to find the code-points covered by a
> particular font file (installed or not)? How does a program like xterm
> or Firefox find a font to use?
>
Via the OS. I expect there are library calls.

> Does this font system recognize that, eg, Arabic symbols are often much
> different in different languages? Can I find which code-points are
> covered in a particular language's style?
>
Pass.
> Can fonts ever contain color? Prior to emoji, it was not common to want
> a color symbol in a font, but now it might be appropriate.
>
I beleve that a font glyph definition is a vector graphic that contains 
stroke and fill information, but not color.



> What other questions should I be asking?

Lets not go there ;-)

>
> Elijah
> ------
> knows a lot of other system internals, but has not studied fonts
>
>

Well just fort the hell of it, to see WTF was a-goin on, I wrote the 
following page in /tmp and 'looked at it' with me browser.

e &#x1F301; lijah

That all I wrote. No header, no font defs, no CSS. Nowt. Zero, nuffink

And out popped some weird character.

Ah. I have tyour answer. These things have nothing to do with fonts at all

http://www.codetable.net/hex/1f301

They are, it seems HTML5 inbuilt 'symbols' that your browser should 
'know already'

If your browser is not showing them, try a better/newer browser



-- 
Everything you read in newspapers is absolutely true, except for the 
rare story of which you happen to have first-hand knowledge. – Erwin Knoll

[toc] | [prev] | [next] | [standalone]


#14820

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2015-05-21 09:21 +0100
Message-ID<mjk4id$tg5$1@news.albasani.net>
In reply to#14819
Further to the last answer it seems that HTML5 has specified an enormous 
amount of displayable symbols irrespective of font/codemap etc etc.


If you like, HTML5 now has a complete inbuilt suite of font symbols.

Numbering in thousands.

Alas dear ASCII, I knew you well...


-- 
Everything you read in newspapers is absolutely true, except for the 
rare story of which you happen to have first-hand knowledge. – Erwin Knoll

[toc] | [prev] | [next] | [standalone]


#14829

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2015-05-21 22:36 +0100
Message-ID<mjlj4k$jrq$1@news.albasani.net>
In reply to#14820
On 21/05/15 09:21, The Natural Philosopher wrote:
> Further to the last answer it seems that HTML5 has specified an enormous
> amount of displayable symbols irrespective of font/codemap etc etc.
>
>
> If you like, HTML5 now has a complete inbuilt suite of font symbols.
>
> Numbering in thousands.
>
> Alas dear ASCII, I knew you well...
>
>
Hmm further to the above, it seems that these symbols are recognised as 
font glyphs by all my linux word processors and text editors and are in 
fact characters in a font - but the font seems to be 'inbuilt' in some way.

That is, if I have these symbols on screen in libre office, selecting 
them and changing their font does nothing except adapt them to the size 
they would be if contained in that font.

So perhaps they are rendered as 'part of a special font that is 
preferred to the selected font'




-- 
Everything you read in newspapers is absolutely true, except for the 
rare story of which you happen to have first-hand knowledge. – Erwin Knoll

[toc] | [prev] | [next] | [standalone]


#14828

FromEli the Bearded <*@eli.users.panix.com>
Date2015-05-21 20:39 +0000
Message-ID<eli$1505211639@qz.little-neck.ny.us>
In reply to#14819
In comp.os.linux.misc, The Natural Philosopher  <tnp@invalid.invalid> wrote:
> On 21/05/15 01:12, Eli the Bearded wrote:
>> This shows me battery and kiss:
>> http://www.panix.com/~eli/unicode/show.cgi?show=U%2B1f50b+U%2B1f48f&type=list
>> On the Emojic 8 Ball, I get a rectangle with "01F 50B" and a rectangle
>> with "01F 48F".
> Got me foxed - the font in play on my systems is arial/lucida etc in 
> that page.
> 
> The actual elements are displayed via a javascript program that just 
> outputs stuff like '&#x1F301;'
> 
> Which is odd because the page itself is coded UTF8...

Your answers show that you do not understand the problem. In the xkcd
"Emojic 8 Ball", Unicode code points U+1F50B and U+1F48F show as
codepoint boxes. With the same browser in the same session, those
codepoints display the appropriate glyphs from the Symbola font I
installed. 

I didn't think to do it yesterday, but here is a permalink to the xkcd 8
Ball results with those two symbols:

https://xkcd.com/1525/#eyJxIjoiIiwiYSI6WyImI3gxRjUwQjsiLCImI3gxRjQ4RjsiXX0=

I would like to understand how the codepoint to glyph in font file
works. In particular I care about how Firefox does it and I care about
how xterm does it.

I would like to know how to see what codepoints a font covers. I'd like
to know if there are language specific glyphs in that font, and if so,
which language.

Elijah
------
see also list of questions in initial post

[toc] | [prev] | [next] | [standalone]


#14821

FromMichael Baeuerle <michael.baeuerle@stz-e.de>
Date2015-05-21 09:22 +0000
Message-ID<AABVXZmxWY4AAAnn.A1.flnews@WStation3.stz-e.de>
In reply to#14818
Eli the Bearded wrote:
> 
> Some questions: if a font is requested, eg, by CSS, does that take
> precedence over actually printing a character if that code point isn't
> in that font but is in another system font?

Normally an application request some font and the glyphs are taken from
this font as long as they are present. If some glyphs are missing, glyph
substitution is performed from other fonts that contain the requested
glyphs (the application may has little control which ones are considered
best suited for this purpose).

On GNU/Linux systems using X11 there is no central instance, shared by
all applications, for this purpose. X11 don't provide this feature.
Libraries on top of X11 like Pango can be used. Common fat GUI toolkits
like GTK+ implement it this way. Lightweight GUI toolkits like FLTK
don't support glyph substitution on X11.

With the common font formats like TrueType and OpenType, a single font
file can not contain more than 64Ki glyphs.
A *single* font with glyphs for at least the whole Unicode BMP is GNU
Unifont. Most other fonts contain only some thousand glyphs.

[toc] | [prev] | [next] | [standalone]


#14822

FromTim Watts <tw_usenet@dionic.net>
Date2015-05-21 11:02 +0100
Message-ID<j2n03c-q84.ln1@squidward.dionic.net>
In reply to#14821
On 21/05/15 10:22, Michael Baeuerle wrote:

> A *single* font with glyphs for at least the whole Unicode BMP is GNU
> Unifont. Most other fonts contain only some thousand glyphs.
>

http://unifoundry.com/pub/unifont-7.0.06/unifont-7.0.06.bmp

Blimey...

[toc] | [prev] | [standalone]


Back to top | Article view | comp.os.linux.misc


csiph-web