diff options
Diffstat (limited to 'konsole/README.fonts')
-rw-r--r-- | konsole/README.fonts | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/konsole/README.fonts b/konsole/README.fonts new file mode 100644 index 000000000..55d410980 --- /dev/null +++ b/konsole/README.fonts @@ -0,0 +1,121 @@ +[README.fonts] + +Fonts need to suit the needs of X11, QT and konsole. + + +* the font has to be fixed width. + + This requierement originate both from X11 and + the way QT and konsole uses it together with + the very idea of what a terminal emulation is + about. + + Basically, a terminal emulation is to display + a character cell oriented screen, meaning that + all characters in the same column line up + properly under each other. + + Though one could make this with a variable + width font (which are preferably used in text + processing) the outcome would look very poor, + since the glyphs would have to be placed into + a cell fitting the widest character in the + font, which is typically more then two times + wider then the narrowest glyph. Imagine a text + with l o t s o f s p a c e s + inserted between each character to get the idea. + + Further, doing this with a variable width font + means to do some operations that slow down the + whole display refreshing dramatically. X11/QT + performs very poor when one draws characters + individually while additionally clearing + background regions instead of drawing a complete + string (as konsole does). If one draws a string + with a variable width font, it is of course + typeset by X11 variable width, not longer + conforming to the character cell model of a + terminal emulation. + + So from both perspectives, variable width fonts + are unsuited for terminal emulation purposes. + + +* the font has to contain some graphical characters + + Many full screen applications make use of these + characters to draw boxes, scroll bars and likely + pseudo graphical entities. + + Using fonts without this capabilities means to + break the visual apearence of these products. + + As a minimum the following glyphs have to be + included within a font to become usable: + + - 0x0b U+2518 : BOX DRAWINGS LIGHT UP AND LEFT + - 0x0c U+2510 : BOX DRAWINGS LIGHT DOWN AND LEFT + - 0x0d U+250c : BOX DRAWINGS LIGHT DOWN AND RIGHT + - 0x0e U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT + - 0x0f U+253c : BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + - 0x12 U+2500 : BOX DRAWINGS LIGHT HORIZONTAL (scan line 5) + - 0x15 U+251c : BOX DRAWINGS LIGHT VERTICAL AND RIGHT + - 0x16 U+2524 : BOX DRAWINGS LIGHT VERTICAL AND LEFT + - 0x17 U+2534 : BOX DRAWINGS LIGHT UP AND HORIZONTAL + - 0x18 U+252c : BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + - 0x19 U+2502 : BOX DRAWINGS LIGHT VERTICAL + + - 0x01 U+25c6 : BLACK DIAMOND + - 0x02 U+2592 : MEDIUM SHADE + - 0x1F U+00b7 : MIDDLE DOT + + The following graphical glyphs are defined in + VT100 fonts, too, but are not used in any program + i know about. Codes for them have been assigned + in the private unicode page. See the linux kernel + documentation file [unicode.txt] about this assignment. + + - 0x10 U+f800 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 1 + - 0x11 U+f801 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 3 + - 0x13 U+f803 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 7 + - 0x14 U+f804 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 9 + + Also, the VT100 knows about the following glyphs, + though omitting them is unlikely to break anything. + + - 0x07 U+00b0 : DEGREE SIGN + - 0x08 U+00b1 : PLUS-MINUS SIGN + - 0x1a U+2264 : LESS THAN OR EQUAL TO + - 0x1b U+2265 : GREATER THAN OR EQUAL TO + - 0x1c U+03c0 : GREEK SMALL LETTER PI + - 0x1d U+2260 : NOT EQUAL TO + - 0x1e U+00a3 : POUND SIGN + + Additionally, digraphs are provided for some + of the control characters by VT100, too. + + - 0x03 U+2409 : DIGRAPH HT + - 0x04 U+240c : DIGRAPH FF + - 0x05 U+240d : DIGRAPH CR + - 0x06 U+240a : DIGRAPH LF + - 0x09 U+240d : DIGRAPH NL + - 0x0a U+240b : DIGRAPH VT + + The mapping of non-iso10646 fonts is extended by konsole + with the regular xterm fixed font placement of these + glyphs to 0x00-0x1f. + + +* Iso10646 fonts needs to have a fall back character + to be properly assigned. + + Use the "DEFAULT_CHAR" property with bdf fonts + to do so. Other font representations provide + likely means. The unicode assignment is U+fffd. + + If such a character isn't defined, X11 might + choose to void the character completely, causing + inconsistent appearence when refreshing the screen. + + One may choose the space glyph to hide the flaw + or a box like one to exhibit it. |