Community
    • Login

    How does Notepad++ Manage to display all Characters and Emojis

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    4 Posts 4 Posters 6.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Martin FurekM
      Martin Furek
      last edited by

      This question is about how Notepad++ is developed. I am doing a test containing these characters for PDF generation:
      ÄÖÜ
      个相同基因的更多拷⻉来提⾼适应性
      Πρωτότυπο κβαντικό ραντάρ από ερευνητές στην Αυστρία
      ☹️😀😃😄😁😆😅😂🤣☺️😊😇🙂🙃😉😌😌😍😘😗
      👩‍⚕️

      What I can not understand is how Notepad++ (v7.9.1) displays all these characters perfectly on Windows 10, even when I change the Font Style to Courier New, which lacks these characters if I am not mistaken. I have tried the superman character 🦸‍♂️ and that one changed into two characters divided by a ZWJ (zero width joiner), so I am sure there is some font or table included in Notepad++ to do this, which lacks the newest emojis. Can you tell me what font it uses or how it is done? I need this to include the font in the PDFs I am generating or replicate the process.

      PeterJonesP 1 Reply Last reply Reply Quote 0
      • PeterJonesP
        PeterJones @Martin Furek
        last edited by

        @Martin-Furek said in How does Notepad++ Manage to display all Characters and Emojis:

        As far as I know, Notepad++ does not use an internal lookup table for unknown glyphs.

        When I look at those characters (including superman) in Courier New, I see:
        59e8679e-0e84-420d-acc7-b365ba82f2c7-image.png
        But if I use my normal Deja Vu Sans Mono font, I get:
        5beb2bf0-bdb5-40a6-baed-dbc6909b05cd-image.png
        Note that the female medical worker splits back to the component woman + medical-symbol, since Deja Vu Sans Mono does not have that glyph.

        If Notepad++ were using a lookup table to find missing characters, then it would have used the same lookup on woman+medical under Deja Vu Sans Mono as it does with Courier New, but it obviously doesn’t.

        Given the number of times in this forum that people have complained about Notepad++ displaying their character as an □, and we suggest that they use a font that knows that character, and then the character displays correctly for them, I am usually pretty confident in asserting that Notepad++ does not use alternate fonts for characters that don’t have a glyph in the chosen font.

        On the other hand, some of the emoji you showed use codepoints above U+FFFF, and others use the ZWJ to do the emoji-combo-trick, and I don’t know how the Windows OS and the font system handle such circumstances under the hood. It may be some OS and/or font magic, rather than Notepad++ itself, “helping” you.

        And as to your question: how to determine what’s happening behind the scenes and replicate that in generated PDFs: sorry, I don’t think the behind-the-scenes stuff is in Notepad++, so I don’t know how you’d replicate it in your generated PDF.

        1 Reply Last reply Reply Quote 0
        • Alan KilbornA
          Alan Kilborn
          last edited by

          Should probably note here that what is displayed may also be affected by this setting in the Preferences :

          726f6d33-3955-470c-bf1c-79cb85b076b0-image.png

          1 Reply Last reply Reply Quote 2
          • guy038G
            guy038
            last edited by guy038

            Hello, @Martin-furek, @peterjones, @alan-kilborn and All,

            You may be interested by this post :

            https://community.notepad-plus-plus.org/topic/19990/regexp-fails-to-match-utf-8-characters/14

            and by this site :

            https://emojipedia.org/

            Particularly, the points :

            https://emojipedia.org/man-superhero/

            https://emojipedia.org/emoji-11.0/


            On the other hand, from this site    https://www.fontyukle.net/ara.php?ara=Segoe+UI   you could download a fairly new versions of all fonts of the Segoe UI family, listed below, with their main characteristics :

            •----------------------------------------•------------------•--------------------------------------•---------•------------•----------•------------•
            |        Segoe UI font variations        |  Microsoft Name  |  Font Names in "Fontyukle" archives  | Version | Characters |  Glyphs  | Kern pairs |
            •----------------------------------------•------------------•--------------------------------------•---------•------------•----------•------------•
            |  Segoe UI Black (TrueType)             |  seguibl.ttf     |  Segoe UI Black.TTF                  |   2.02  |    2,191   |   2,443  |    2,638   |
            |  Segoe UI Black Italic (TrueType)      |  seguibli.ttf    |  Segoe UI Black Italic.TTF           |   2.02  |    2,191   |   2,544  |    8,467   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI (TrueType)                   |  segoeui.ttf     |  Segoe UI.TTF                        |   5.62  |    3,952   |   5,344  |    8,292   |
            |  Segoe UI Bold (TrueType)              |  segoeuib.ttf    |  Segoe UI Gras.ttf                   |   5.60  |    3,900   |   5,219  |    8,319   |
            |  Segoe UI Bold Italic (TrueType)       |  segoeuiz.ttf    |  Segoe UI Gras Italique.ttf          |   5.30  |    2,826   |   3,377  |    8,613   |
            |  Segoe UI Italic (TrueType)            |  segoeuii.ttf    |  Segoe UI Italique.ttf               |   5.30  |    2,826   |   3,377  |    5,739   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI Emoji (TrueType)             |  seguiemj.ttf    |  Segoe UI Emoji.TTF                  |   1.29  |    1,962   |  12,189  |    1,394   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI Historic (TrueType)          |  seguihis.ttf    |  Segoe UI Historic.TTF               |   1.03  |    3,658   |   4,737  |    1,352   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI Light (TrueType)             |  segoeuil.ttf    |  Segoe UI Light.ttf                  |   5.60  |    3,902   |   5,231  |    5,503   |
            |  Segoe UI Light Italic (TrueType)      |  seguili.ttf     |  Segoe UI Light Italic.ttf           |   5.30  |    2,826   |   3,389  |    8,388   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI Semibold (TrueType)          |  seguisb.ttf     |  Segoe UI Semibold.TTF               |   5.62  |    3,948   |   5,271  |    8,291   |
            |  Segoe UI Semibold Italic (TrueType)   |  seguisbi.ttf    |  Segoe UI Semibold Italic.TTF        |   5.32  |    2,874   |   3,437  |    5,209   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI Semilight (TrueType)         |  segoeuisl.ttf   |  Segoe UI Semilight.TTF              |   5.62  |    3,950   |   5,219  |    8,293   |
            |  Segoe UI Semilight Italic (TrueType)  |  seguisli.ttf    |  Segoe UI Semilight Italic.ttf       |   5,30  |    2,826   |   3,389  |    8,338   |
            |                                        |                  |                                      |         |            |          |            |
            |  Segoe UI Symbol (TrueType)            |  seguisym.ttf    |  Segoe UI Symbol.ttf                 |   6.23  |    7,362   |   9,209  |    1,361   |
            •----------------------------------------•------------------•--------------------------------------•---------•------------•----------•------------•
            

            Best Regards,

            guy038

            1 Reply Last reply Reply Quote 1
            • Terry RT Terry R referenced this topic on
            • A Andrej730 referenced this topic on
            • First post
              Last post
            The Community of users of the Notepad++ text editor.
            Powered by NodeBB | Contributors