• Login
Community
  • Login

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

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
4 Posts 4 Posters 6.7k 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.
  • M
    Martin Furek
    last edited by Jan 27, 2021, 1:08 PM

    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.

    P 1 Reply Last reply Jan 27, 2021, 2:26 PM Reply Quote 0
    • P
      PeterJones @Martin Furek
      last edited by Jan 27, 2021, 2:26 PM

      @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
      • A
        Alan Kilborn
        last edited by Jan 27, 2021, 2:40 PM

        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
        • G
          guy038
          last edited by guy038 Jan 28, 2021, 2:17 PM Jan 28, 2021, 2:16 PM

          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
          • T Terry R referenced this topic on Dec 11, 2022, 7:16 PM
          • A Andrej730 referenced this topic on Mar 22, 2025, 1:14 PM
          1 out of 4
          • First post
            1/4
            Last post
          The Community of users of the Notepad++ text editor.
          Powered by NodeBB | Contributors