Subject: bug#10193: font problem with koi8-r encoding

From: Werner LEMBERG <[email-masked]>
Date: Fri, 02 Dec 2011 10:13:45 +0100 (CET)

[GNU Emacs 24.0.92.1
 (i686-suse-linux-gnu, GTK+ Version 2.24.7)
 of 2011-12-01 on linux-nvf0

[libotf and libm17n CVS from 24-Feb-2011]

[bzr revno 106566]

Starting with `emacs -Q' and loading a file encoded in koi8-r, Emacs
uses an oblique style to display Russian characters on my GNU/Linux
box.  Given that normal ASCII is displayed upright, and that the
upright font (from the same family) contains Cyrillic glyphs also, I
consider this as a bug.

Here the information for a Cyrillic letter using `C-u C-x =':

          character: Г (1043, #o2023, #x413)
  preferred charset: koi8-r (KOI8-R)
         code point: 0xE7
             syntax: w    which means: word
           category: .:Base,
                     L:Left-to-right (strong),
                     Y:2-byte Cyrillic,
                     c:Chinese,
                     h:Korean,
                     j:Japanese,
                     y:Cyrillic
        buffer code: #xD0 #x93
          file code: #xE7 (encoded by coding system cyrillic-koi8-unix)
            display: by this font (glyph code)
                xft: -unknown-DejaVu Sans Mono-normal-oblique-normal-
                     *-18-*-*-*-m-0-iso10646-1 (#x347)

And now the same for a Latin digit (in the same buffer):

          character: 7 (55, #o67, #x37)
  preferred charset: koi8-r (KOI8-R)
         code point: 0x37
             syntax: w    which means: word
           category: .:Base,
                     a:ASCII,
                     l:Latin,
                     r:Roman
        buffer code: #x37
          file code: #x37 (encoded by coding system cyrillic-koi8-unix)
            display: by this font (glyph code)
                xft: -unknown-DejaVu Sans Mono-normal-normal-normal-
                     *-18-*-*-*-m-0-iso10646-1 (#x1A)

I've attached the output of

  fc-list -v "DejaVu Sans Mono"

     Werner
Pattern has 21 elts (size 32)
	family: "DejaVu Sans Mono"(s)
	familylang: "en"(s)
	style: "Oblique"(s)
	stylelang: "en"(s)
	fullname: "DejaVu Sans Mono Oblique"(s)
	fullnamelang: "en"(s)
	slant: 110(i)(s)
	weight: 80(i)(s)
	width: 100(i)(s)
	spacing: 100(i)(s)
	foundry: "unknown"(s)
	file: "/usr/share/fonts/truetype/DejaVuSansMono-Oblique.ttf"(s)
	index: 0(i)(s)
	outline: FcTrue(s)
	scalable: FcTrue(s)
	charset: 
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
	0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff bfffe00f f370ffcf
	0002: ffffffff fffffff2 ffff303b ffffffff ffffffff fbffffff 7fcf33c3 000843ff
	0003: ffffffff ffffffff 01000008 44300002 ffffd7f0 fffffffb ffff7fff ffff0003
	0004: ffffffff ffffffff ffffffff 000c000c 0fff0000 0c0ffc3c ffff999f 03ffffff
	0005: 3c030000 fffe0000 fe7fffff fffffffe 000006ff 00000000 00000000 00000000
	000e: 00000000 00000000 00000000 00000000 fef02596 1bffecae 00003f00 00000000
	0010: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 1fffffff
	001d: e0d00304 dfff7000 0fffffff 0980003c f8000020 feffffff 00000000 00000000
	001e: ff0fffff ffff3fff fff03fff f3ffff0f 8bffffff 33c33003 3f003cc0 033fcf3f
	001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
	0020: ffbf07ff 76ff804f 80000be0 fff30000 1fff7fff 033fffff 00000000 00000000
	0021: 26e0e024 00004c54 fff80000 00000000 ffff0000 ffffffff ffffffff ffffffff
	0022: ffaebfff 3ff03f81 fffffffe ffffe3ff ffe78fff 0000003f fc002060 000083ff
	0023: f33fff7f 7fa009e3 df9d3b9e 27f9fb39 f8200f0f 00007fff 0000c000 00000000
	0024: 00000000 00000008 00000000 00000000 00000000 00000000 00000000 00000000
	0025: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0026: 00000001 9f000000 000000ff 0000feff 00000000 00000000 00000000 00000000
	0027: 00000000 00000000 00000000 00000000 00000000 00000000 00000060 00000301
	0029: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0c000800
	002a: 00000000 00008000 00000000 00000000 00000000 00000000 00000000 00000000
	002b: 07fc0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	002c: 00000000 00000000 00000000 f6e1e010 00000000 00000000 00000000 00000000
	002e: 01000000 0000403c 00000000 00000000 00000000 00000000 00000000 00000000
	00a7: f87fff00 000000fc 00000000 00000000 00037e00 00000000 00000000 00000000
	00f6: 00000000 00000000 00000000 00000000 00000000 00000000 00000020 00000000
	00fb: 00000006 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2e000000
(s)
	lang: aa|af|ast|av|ay|az-az|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|ka|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|shs|sk|sl|sm|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tk|tl|tn|to|tr|ts|tt|tw|tyv|uk|uz|ve|vo|vot|wa|wen|wo|xh|yap|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|rn|rw|sc|sg|sn|su|ty|za(s)
	fontversion: 152698(i)(s)
	capability: "otlayout:cyrl otlayout:lao  otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: FcFalse(s)

Pattern has 21 elts (size 32)
	family: "DejaVu Sans Mono"(s)
	familylang: "en"(s)
	style: "Book"(s)
	stylelang: "en"(s)
	fullname: "DejaVu Sans Mono"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 80(i)(s)
	width: 100(i)(s)
	spacing: 100(i)(s)
	foundry: "unknown"(s)
	file: "/usr/share/fonts/truetype/DejaVuSansMono.ttf"(s)
	index: 0(i)(s)
	outline: FcTrue(s)
	scalable: FcTrue(s)
	charset: 
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
	0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffe00f f371ffcf
	0002: ffffffff fffffff3 ffff303b ffffffff ffffffff fbffffff 7fcf33c3 000843ff
	0003: ffffffff ffffffff 01000008 44300002 ffffd7f0 fffffffb ffff7fff ffff0003
	0004: ffffffff ffffffff ffffffff 000c000c 0fff0000 0c0ffc3c ffff999f 03ffffff
	0005: 3c030000 fffe0000 fe7fffff fffffffe 000006ff 00000000 00000000 00000000
	0006: 882016c0 07fffffe 043fffff ce103fff 010200d9 40008210 00001000 03ff0000
	000e: 00000000 00000000 00000000 00000000 fef02596 1bffecae 00003f00 00000000
	0010: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 1fffffff
	001d: e0d00304 dfff7000 0fffffff 0980003c f8000020 feffffff 00000000 00000000
	001e: ff0fffff ffff3fff fff03fff f3ffff0f 8bffffff 33c33003 3f003cc0 033fcf3f
	001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
	0020: ffbf07ff 76ff804f 80000be0 fff30000 1fff7fff 033fffff 00000000 00000000
	0021: 26e0e024 00004c54 fff80000 00000000 ffff0000 ffffffff ffffffff ffffffff
	0022: ffaebfff 3ff03f81 fffffffe ffffe3ff ffe78fff 0000003f fc002060 000083ff
	0023: f33fff7f 7fa009e3 df9d3b9e 27f9fb39 f8200f0f 00007fff 0000c000 00000000
	0024: 00000000 00000008 00000000 00000000 00000000 00000000 00000000 00000000
	0025: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
	0026: ffffffff ff00ffff ffffffff ffffffff 1fff0fff 00030003 00000000 00000000
	0027: fffff3de fffffeff 7f47afff 003ffffe ff100000 7ffeffff 00000060 00000301
	0029: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0c000800
	002a: 00000000 00008000 00000000 00000000 00000000 00000000 00000000 00000000
	002b: 07fc0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	002c: 00000000 00000000 00000000 f6e1e010 00000000 00000000 00000000 00000000
	002e: 01000000 0000403c 00000000 00000000 00000000 00000000 00000000 00000000
	00a7: f87fff00 000000fc 00000000 00000000 00037e00 00000000 00000000 00000000
	00f6: 00000000 00000000 00000000 00000000 00000000 00000000 00000020 00000000
	00fb: 00000006 00000000 fffc0000 ffffffff c03ffc03 00003c00 00000000 f0000300
	00fe: 00000000 00000000 00000000 ffdf0000 ffffffff ffffffff ffffffff 9fffffff
	00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2e000000
	01d6: 00000000 00000000 00000000 ffff0000 ffffffff 0000000f 00000000 00000000
	01d7: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffc00000
(s)
	lang: aa|af|ar|ast|av|ay|az-az|az-ir|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cv|cy|da|de|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|ka|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|shs|sk|sl|sm|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tk|tl|tn|to|tr|ts|tt|tw|tyv|ug|uk|uz|ve|vo|vot|wa|wen|wo|xh|yap|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|rn|rw|sc|sg|sn|su|ty|za(s)
	fontversion: 152698(i)(s)
	capability: "otlayout:DFLT otlayout:arab otlayout:cyrl otlayout:grek otlayout:lao  otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: FcFalse(s)

Pattern has 21 elts (size 32)
	family: "DejaVu Sans Mono"(s)
	familylang: "en"(s)
	style: "Bold Oblique"(s)
	stylelang: "en"(s)
	fullname: "DejaVu Sans Mono Bold Oblique"(s)
	fullnamelang: "en"(s)
	slant: 110(i)(s)
	weight: 200(i)(s)
	width: 100(i)(s)
	spacing: 100(i)(s)
	foundry: "unknown"(s)
	file: "/usr/share/fonts/truetype/DejaVuSansMono-BoldOblique.ttf"(s)
	index: 0(i)(s)
	outline: FcTrue(s)
	scalable: FcTrue(s)
	charset: 
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
	0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffe00f f370ffcf
	0002: ffffffff fffffff2 ffff303b ffffffff ffffffff fbffffff 7fcf33c3 000843ff
	0003: ffffffff ffffffff 01000008 44300002 ffffd7f0 fffffffb ffff7fff ffff0003
	0004: ffffffff ffffffff ffffffff 000c000c 0fff0000 0c0ffc3c ffff999f 03ffffff
	0005: 3c030000 fffe0000 fe7fffff fffffffe 000006ff 00000000 00000000 00000000
	000e: 00000000 00000000 00000000 00000000 fef02596 1bffecae 00003f00 00000000
	0010: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 1fffffff
	001d: e0d00304 dfff7000 0fffffff 0980003c f8000020 feffffff 00000000 00000000
	001e: ff0fffff ffff3fff fff03fff f3ffff0f 8bffffff 33c33003 3f003cc0 033fcf3f
	001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
	0020: ffbf07ff 76ff804f 80000be0 fff30000 1fff7fff 033fffff 00000000 00000000
	0021: 26e0e024 00004c54 fff80000 00000000 ffff0000 ffffffff ffffffff ffffffff
	0022: ffaebfff 3ff03f81 fffffffe ffffe3ff ffe78fff 0000003f fc002060 000083ff
	0023: f33fff7f 7fa009e3 df9d3b9e 27f9fb39 f8200f0f 00007fff 0000c000 00000000
	0024: 00000000 00000008 00000000 00000000 00000000 00000000 00000000 00000000
	0025: 00000000 00000000 00000000 00000000 ffffffff ffffffff ffffffff ffffffff
	0026: 00000001 9f000000 000000ff 0000feff 00000000 00000000 00000000 00000000
	0027: 00000000 00000000 00000000 00000000 00000000 00000000 00000060 00000301
	0029: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0c000800
	002a: 00000000 00008000 00000000 00000000 00000000 00000000 00000000 00000000
	002b: 07fc0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	002c: 00000000 00000000 00000000 f6e1e010 00000000 00000000 00000000 00000000
	002e: 01000000 0000403c 00000000 00000000 00000000 00000000 00000000 00000000
	00a7: f87fff00 000000fc 00000000 00000000 00037e00 00000000 00000000 00000000
	00f6: 00000000 00000000 00000000 00000000 00000000 00000000 00000020 00000000
	00fb: 00000006 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2e000000
(s)
	lang: aa|af|ast|av|ay|az-az|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|ka|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|shs|sk|sl|sm|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tk|tl|tn|to|tr|ts|tt|tw|tyv|uk|uz|ve|vo|vot|wa|wen|wo|xh|yap|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|rn|rw|sc|sg|sn|su|ty|za(s)
	fontversion: 152698(i)(s)
	capability: "otlayout:cyrl otlayout:lao  otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: FcFalse(s)

Pattern has 21 elts (size 32)
	family: "DejaVu Sans Mono"(s)
	familylang: "en"(s)
	style: "Bold"(s)
	stylelang: "en"(s)
	fullname: "DejaVu Sans Mono Bold"(s)
	fullnamelang: "en"(s)
	slant: 0(i)(s)
	weight: 200(i)(s)
	width: 100(i)(s)
	spacing: 100(i)(s)
	foundry: "unknown"(s)
	file: "/usr/share/fonts/truetype/DejaVuSansMono-Bold.ttf"(s)
	index: 0(i)(s)
	outline: FcTrue(s)
	scalable: FcTrue(s)
	charset: 
	0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
	0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffe00f f371ffcf
	0002: ffffffff fffffff3 ffff303b ffffffff ffffffff fbffffff 7fcf33c3 000843ff
	0003: ffffffff ffffffff 01000008 44300002 ffffd7f0 fffffffb ffff7fff ffff0003
	0004: ffffffff ffffffff ffffffff 000c000c 0fff0000 0c0ffc3c ffff999f 03ffffff
	0005: 3c030000 fffe0000 fe7fffff fffffffe 000006ff 00000000 00000000 00000000
	0006: 882016c0 07fffffe 043fffff ce103fff 010200d9 40008210 00001000 03ff0000
	000e: 00000000 00000000 00000000 00000000 fef02596 1bffecae 00003f00 00000000
	0010: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 1fffffff
	001d: e0d00304 dfff7000 0fffffff 0980003c f8000020 feffffff 00000000 00000000
	001e: ff0fffff ffff3fff fff03fff f3ffff0f 8bffffff 33c33003 3f003cc0 033fcf3f
	001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
	0020: ffbf07ff 76ff804f 80000be0 fff30000 1fff7fff 033fffff 00000000 00000000
	0021: 26e0e024 00004c54 fff80000 00000000 ffff0000 ffffffff ffffffff ffffffff
	0022: ffaebfff 3ff03f81 fffffffe ffffe3ff ffe78fff 0000003f fc002060 000083ff
	0023: f33fff7f 7fa009e3 df9d3b9e 27f9fb39 f8200f0f 00007fff 0000c000 00000000
	0024: 00000000 00000008 00000000 00000000 00000000 00000000 00000000 00000000
	0025: 00000000 00000000 00000000 00000000 ffffffff ffffffff ffffffff ffffffff
	0026: ffffffff ff00ffff ffffffff ffffffff 1fff0fff 00030003 00000000 00000000
	0027: fffff3de fffffeff 7f47afff 003ffffe ff100000 fffeffff 00000060 00000301
	0029: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0c000800
	002a: 00000000 00008000 00000000 00000000 00000000 00000000 00000000 00000000
	002b: 07fc0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	002c: 00000000 00000000 00000000 f6e1e010 00000000 00000000 00000000 00000000
	002e: 01000000 0000403c 00000000 00000000 00000000 00000000 00000000 00000000
	00a7: f87fff00 000000fc 00000000 00000000 00037e00 00000000 00000000 00000000
	00f6: 00000000 00000000 00000000 00000000 00000000 00000000 00000020 00000000
	00fb: 00000006 00000000 fffc0000 ffffffff c03ffc03 00003c00 00000000 f0000300
	00fe: 00000000 00000000 00000000 ffdf0000 ffffffff ffffffff ffffffff 9fffffff
	00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2e000000
(s)
	lang: aa|af|ar|ast|av|ay|az-az|az-ir|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cv|cy|da|de|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|ka|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|shs|sk|sl|sm|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tk|tl|tn|to|tr|ts|tt|tw|tyv|ug|uk|uz|ve|vo|vot|wa|wen|wo|xh|yap|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|rn|rw|sc|sg|sn|su|ty|za(s)
	fontversion: 152698(i)(s)
	capability: "otlayout:arab otlayout:cyrl otlayout:grek otlayout:lao  otlayout:latn"(s)
	fontformat: "TrueType"(s)
	decorative: FcFalse(s)