On Sep 5 15:18, Marco Atzeri wrote: > Am 05.09.2018 um 13:58 schrieb Steven Penny: > > On Wed, 5 Sep 2018 09:55:28, Corinna Vinschen wrote: > > > Using this file: > > > > $ cat glyph.c > > #include <stdio.h> > > #include <windows.h> > > int main() > > { > > CONSOLE_FONT_INFOEX ta; > > ta.cbSize = sizeof ta; > > GetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), 0, &ta); > > HDC wh = GetDC(0); > > SelectObject(wh, > > CreateFontW(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ta.FaceName)); > > WCHAR xr[4] = {0xFFFD, 0x2592, 0x25A1, 0x01C4}; > > WORD zu[4]; > > GetGlyphIndicesW(wh, xr, 4, zu, 1); > > printf("%ls:\n", ta.FaceName); > > for (int q = 0; q < 4; q++) { > > printf(" U+%04X: %s\n", > > xr[q], zu[q] == 0xffff ? "failure" : "success"); > > } > > } > > > > I get this result: > > > > DejaVu Sans Mono: > > U+FFFD: success > > U+2592: success > > U+25A1: success > > U+01C4: failure > > > > Strange on W10 CMD I obtain > > DejaVu Sans Mono U+FFFD: failure ^^^ You see this? There's something really fishy here. I see a similar effect which somehow depends on arbitrary changes to the source file:
- Sometimes I get "DejaVu Sans Mono" in FaceName and all works well. - Sometimes I get "DejaVu Sans Mono\1" or "DejaVu Sans Mono\6" and the subsequent GetGlyphIndicesW returns failures for many or all characters. I'm trying to find what's affecting this for hours, but I don't get any conclusive results :( Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
signature.asc
Description: PGP signature