今日のトリビア、Windowsのメモ帳（Notepad.exe）は絵文字をカラーで印刷させることができない

# 絵文字の入力
## Windows IME
Windowsキー+`.`で絵文字パネル起動
## Web
### 名前(Entity)がついている場合は名前でも可能
`&spades;` &spades;
これで大事なのが円記号
`&yen;`
### 10進
`&#128317;`&#128317;
### 16進
`&#x1F53d;` &#x1F53d;

## 参照サイト
### 絵文字の概略
[知っておきたい！絵文字のUnicode入力方法と一覧表](https://naoq.net/p1439)
### 絵文字全リスト
[Full Emoji List, v16.0](https://unicode.org/emoji/charts/full-emoji-list.html)
### 絵文字の見え方の解説があるサイト
[📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍](https://emojipedia.org/)
## Segoe UI Emojiが初登場の頃
[OpenTypeカラーフォント：Windows Insider用語解説 - ＠IT](https://atmarkit.itmedia.co.jp/ait/articles/1407/03/news113.html)
Window11とずいぶんイメージが違う。つまり同じフォントでもWindowsのバージョンが違うとイメージが変わる。
[Font library - Typography | Microsoft Learn](https://learn.microsoft.com/en-us/typography/font-list/)
## 公式
[Segoe UI Emoji font family - Typography | Microsoft Learn](https://learn.microsoft.com/en-us/typography/font-list/segoe-ui-emoji)
Window 8.1 で初出 1.02
[Font List Windows 8.1 - Typography | Microsoft Learn](https://learn.microsoft.com/en-us/typography/fonts/windows_81_font_list)
Window 11 はバージョンが変わっている 1.33
[Font List Windows 11 - Typography | Microsoft Learn](https://learn.microsoft.com/en-us/typography/fonts/windows_11_font_list)
[Microsoft、3Dになった新しい「Segoe UI」絵文字フォントを発表 ～Windows 11に搭載 - 窓の杜](https://forest.watch.impress.co.jp/docs/news/1572154.html)
>また、新しい「Segoe UI」フォントの絵文字をOSに統合するプロセスでも、業種・会社を超えた協業が必要だったようだ。

評価できない。くだらない上に無意味。カネの無駄だ。こんなんでMSがカネを取るのはマジで許さんわ。
こんな小さいもので3Dにする意味が全くない。

<b>多様性だかインチでしかないDEIだか知らないが、腐りきったダサすぎる改悪乙<br>輪郭がないから見づらく、かわいくない上に上から目線。<br>Win11は小さくすると輪郭ないから見づらいのがわからん奴はなにやらせもダメ<br></b>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/981329f2-14ff-4ebc-a8db-02a12bb445b3.png)
<b>画像で保存するという意味がよくわかる改悪。</br>

# 本題の現象の再現方法
## メモ帳を起動して入力
 １．FontをSegoe UI Emojiにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/fc171539-5b5c-4aa8-a402-4ed5f3907467.png)
 2. &#x1F3C0; こうした文字を入力

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/7fee6ae7-ab19-40ec-bc7d-9c958b3a8815.png)
## 出力
3.今回はAcrobatでは失敗しかしないのでXPSで出力
またはMicrosft Print To PDFを使用してください
test_utf-8_bom.txt 元ファイルは260バイト Windowsでは1KBしかありません
Windows XPS Document Wirterを引っ張り出し、oxpsで印刷
test.oxps
これだけで3.71MB
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/ecde17bc-5538-4f7e-bbe6-8f608bc85fef.png)


#  🔎 原因
## ■ 1. 印刷レンダラーが異なる
- メモ帳での表示：
    → OS（Windows）とフォントレンダラーによって カラー絵文字フォント（例：Segoe UI Emoji） が使われる
- 印刷時の処理：
    → プリンタードライバとGDI（Graphics Device Interface）やXPSが使われ、カラー絵文字に非対応

## ■ 2. プリンタがカラー絵文字に非対応

    カラーのはずの🟥🟧🟨🟩🟦🟪🟫などが印刷時に消えるか、黒塗りになる

    🙈🙉🙊 や 😊😂😠 などの顔文字も白抜きか潰れて出る

## ■ 3. フォントファイル自体の問題
　Segoe UI Emoji や Twemoji など、カラー絵文字を表示するには、OpenType-SVGやCOLRフォーマットに対応していなければならない
　しかし、印刷ではこれが反映されない
## ■ ４. 結論
Windowsメモ帳は印刷用途におけるカラー絵文字対応はほぼ皆無。
「見えていても、印刷されるとは限らない」という前提で運用すべき。
正式な文書には画像化~~やOffice製品、HTML/PDF変換を用いるの~~が現実的。
画像化が一番ニュアンスが変わらないので画像化が一択。
その次がhtml化
その次がpdfまたはxps化。（サイズが3MBになる）

[Adobe イラストレーターにて、Segoe UI Emojiの絵文字を使用していたファイルを開くと、以前保存した内容と違っていた - Microsoft Q&A](https://learn.microsoft.com/ja-jp/answers/questions/1781452/adobe-segoe-ui-emoji)
![image-13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/087f1da2-5fc9-4a74-9baf-5b3d4145f42b.png)

# Microsoftの公式情報ではわかりにくい
結論から言うと： Microsoft公式では、明確に「絵文字は印刷時に白黒になる」とは明記していません。

以下のような間接的な記述や仕様説明から、その事実は読み取れます。
🔹 1. Segoe UI Emoji フォント仕様（Microsoft Typography）
    "Segoe UI Emoji uses color glyphs. In environments that do not support color font rendering, fallback monochrome outlines will be used."

出典：
[カラー フォントのサポート - Win32 apps | Microsoft Learn](https://learn.microsoft.com/ja-jp/windows/win32/directwrite/color-fonts)
><b>カラー フォントの使用</b>
ユーザーの観点から見ると、カラー フォントは単なるフォントです。 たとえば、通常、単色フォントと同じ方法でシステムからインストールおよびアンインストールできます。また、通常の選択可能なテキストとしてレンダリングされます。<br>
>開発者の観点からも、カラー フォントは通常、単色フォントと同じように使用されます。 XAML および Microsoft Edge フレームワークでは、通常のフォントと同じ方法で色フォントを使用してテキストのスタイルを設定できます。既定では、テキストは色でレンダリングされます。 ただし、アプリが直接 Direct2D API (または Win2D API) を呼び出してテキストをレンダリングする場合は、明示的にカラー フォントレンダリングを要求する必要があります。

意訳：
Segoe UI Emojiはカラーグリフを使用するが、カラーグリフに対応していない環境ではモノクロ輪郭が使用される。

👉つまり、印刷時の出力がカラーグリフに対応していないと、白黒またはプレースホルダーになる。
## 🔹 2. Windows印刷サブシステムの仕様（GDI / XPS）
Microsoftは明言していませんが、Windowsの標準印刷機構（GDI）はカラー絵文字レンダリングに非対応であることが、開発者フォーラムなどで報告されている。

たとえば：
- GDI/GDI+ は COLR/CPAL や SVG-in-OT を解釈しない
- XPS ドライバ経由で出力しても、SVGベースのグリフはラスター化されない

## 🔹 3. ユーザー報告と公式回答（MSフォーラム）
Microsoft Q&AやAnswersフォーラムなどでは、以下のような質問が散見されます：

>Q. メモ帳で表示されるカラー絵文字が印刷されると白黒になります。なぜですか？
A.（モデレーター回答） 印刷処理の仕様により、現在のプリンタードライバやフォント処理機構ではカラー出力はサポートされていません。

これも 公式の開発方針を示唆する「実質的回答」 です。

# 結論：絵文字にMicrosoftはついていけない旧世代のおっさん
明記はされていないが、「設計上そうなる」ことが仕様書や技術解説から読み取れる

:::note info
MSの文書上は“直接書いていない”
だが、「印刷ではモノクロになる」と認識しておくべき現象であり、
カラーで印刷したいなら、画像化やOffice変換が事実上の「回避策」となる。
:::
はい、ChatGPTも間違いですね。さっき言ったこととも変わってる。
今回、セカンドベストのhtmlにしてedgeで表示するをやってみます。
さっきのメモ帳のデータをカラー化しましょう。

1. 次のように上と下にHTMLを加え、各改行に`<p>`を入れます

```html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
</head>
<body>
<p>🏀FontをSegoe UI Emojiにしたからと言っても文字が打てないことはない<p>
This Notepat.exe Setting Segoe UI Emoji<p>
🔽🔽👨‍👩‍👧‍👦👨‍👩‍👧‍👦👯‍♀️🩵❤️🩷🧡💛💙🩵💜🤎🖤🩶🤍<p>
</body>
```

2. これをutf-8で保存します。
3. Edgeで表示させます。Edgeは絵文字を保証しているためです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/5d50deb5-a0fa-4fc4-a1dd-74583a045f5c.png)
Microsoft XPS Document Writerでoxps形式で出力します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/9fc8dcbe-5464-4f73-88e7-5f75a0c0e641.png)
きっちりと印刷できました。
そして輪郭がないから何も見えない。