Web lists-archives.com

Re: Cygwin fails to utilize Unicode replacement character




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
  U+2592: failure
  U+25A1: failure
  U+01C4: failure


Consolas:
  U+FFFD: failure
  U+2592: success
  U+25A1: success
  U+01C4: success

May be original Windows "DejaVu Sans Mono" is incomplete ?



---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple