summaryrefslogtreecommitdiffstats
path: root/konsole/README.fonts
diff options
context:
space:
mode:
Diffstat (limited to 'konsole/README.fonts')
-rw-r--r--konsole/README.fonts121
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.