Skip to content

Map the release-note icons and 82 icons of AI assistants, bots and tools to the emoji font - #36

Merged
Paebbels merged 3 commits into
devfrom
claude/emoji-release-icons
Oct 11, 2026
Merged

Paebbels merged 3 commits into
devfrom
claude/emoji-release-icons

Conversation

@pytooling-claude

@pytooling-claude pytooling-claude Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Changes

  • pytooling.sty maps 6 more icons to the emoji font (\emoji{...}, NotoColorEmoji):

    Icon Code point Name
    📄 U+1F4C4 Page Facing Up
    🧩 U+1F9E9 Jigsaw Puzzle Piece
    🧪 U+1F9EA Test Tube
    🎨 U+1F3A8 Artist Palette
    📖 U+1F4D6 Open Book
    ✨ U+2728 Sparkles
  • With them, the icons used in pyTooling's documentation and release notes - 📄 🧩 ✨ 🔧 🎨 🪳 📖 🧪 ⚙️ 🔗 🐳 - are all
    mapped; 🔧 🪳 ⚙ 🔗 🐳 were mapped already. The variation selector of ⚙️ (U+FE0F) needs no mapping.

  • Why: Libertinus Serif has no glyph for them. LaTeX reports Missing character, and latexmk ends with "Latex reported
    missing or unavailable character(s)"
    and exit code 1 - although the PDF is written. pyTooling/Actions' job
    PDFDocumentation fails on dev for 📄 (pyTooling.Sphinx's code coverage table, one per file) and 🧩 (workflow tree
    legend).

  • pytooling.sty maps 82 more icons, which AI assistants, bots and tools write into commit messages, issues and
    pull-requests - and from there into changelogs, READMEs and doc-strings a PDF documentation includes:

    Group Icons
    Commit and pull-request types (gitmoji) 🎉 🚑 🩹 ♻ ⚡ 💄 🚀 🔖 🏷 ⬆ ⬇ 📌 ➕ 🔀 ⏪ 🚚 💥 🔐 🌐 🔊 🔇 🧹 🚨 💚 👷 🏗 🛠 💡 🎯
    Bots and AI 🤖 ✍ 🧠
    Status and checklists ✔ ✖ ☑ ❎ ⬜ 🔲 ⚪ ⏳ ⏸ ▶ ⏹ 🔁 🔄 🕑 ⏱
    Notes and reviews 💬 👍 👎 🙋 😉 ℹ 📢 📣 📎 🔎 🧭 📋 🗂 📑 🗒 ✏
    Documents, data and tools 📃 📜 📚 🧮 🔢 🗃 💾 🧰 🔬 🩺 🛒 🏭
    Security and bugs 🛡 🐞
    Programming languages 🦀 ☕ 🐘 🐹 💎
    • ✔ ▶ ℹ are part of Libertinus Serif: they are mapped only for the other font families
      (\ifx\pytooling@fontfamily\pytooling@ff@libertinus\else ... \fi). DejaVu lacks ✔ and ℹ.
    • Each group is a comment in pytooling.sty; checked against the character maps of LibertinusSerif-Regular and
      NotoColorEmoji.
    • Already used in documentation: 😉 (pyTooling, 6 pages), ☑ (pyEDAA.Reports), 🙋 (pyEDAA.CLITool), 🕑 and 🔁
      (pyTooling.Tracing).
  • Libertinus: \checkmark prints the text ✔ (\mbox{✔}). Sphinx writes ✔ (U+2714) as \(\pmb{\checkmark}\)
    (sphinx/util/texescape.py); unicode-math maps \checkmark to ✓ (U+2713), which Libertinus Math lacks. The Sphinx
    example, now listing ✔, failed with 29 Missing character for ✓.

Documentation

  • The examples list all new icons: example/lualatex/Icons.tex, example/sphinx/Icons.rst.

Tests

  • Local MiKTeX 26.5, example/lualatex/document.tex with libertinus and an extra line of all 11 icons:
    • with this change: PDF written, no Missing character;
    • with dev's pytooling.sty: 6 Missing character warnings each for ✨ 🎨 📄 📖 🧩 🧪.
  • The extended example (all 88 new icons) with libertinus and dejavu: no Missing character; the pipeline's
    examples with all 4 font families passed.
  • The Sphinx example (latex/MiKTeX.tex): no Missing character with the \checkmark change; 29 for ✓ without it.

Others

  • pytooling/miktex:sphinx moves with a release of this repository; pyTooling/Actions' PDF jobs use that tag.
  • Not mapped: ✎ (U+270E) and 🖉 (U+1F589) - neither Libertinus nor NotoColorEmoji has a glyph.
  • Found on the way, not changed: example/lualatex/document.tex falls back to the font family modern, which
    pytooling.sty rejects (Unknown fontfamily 'modern'); valid is latinmodern. The pipeline always passes a family,
    so only a local build hits it.

Related Issues and Pull-Requests

Libertinus has no glyph for them; LaTeX reports missing characters, and latexmk exits with an error although the PDF is
written. 🔧 🪳 ⚙ 🔗 🐳 were mapped already.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@pytooling-claude
pytooling-claude Bot requested a review from Paebbels as a code owner October 11, 2026 13:56
@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

…ssues and pull-requests.

Grouped: commit types (gitmoji), bots and AI, status and checklists, notes and reviews, documents and tools, security
and bugs, programming languages. ✔ ▶ ℹ are part of Libertinus; they are mapped for the other font families only.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@pytooling-claude
pytooling-claude Bot force-pushed the claude/emoji-release-icons branch from 5037407 to d0c1634 Compare October 11, 2026 14:49
@pytooling-claude pytooling-claude Bot changed the title Map the release-note icons 📄 🧩 ✨ 🎨 📖 🧪 to the emoji font Map the release-note icons and 82 icons of AI assistants, bots and tools to the emoji font Oct 11, 2026
Sphinx writes ✔ (U+2714) as \(\pmb{\checkmark}\); unicode-math maps \checkmark to ✓ (U+2713), which Libertinus Math
lacks - a missing character, which latexmk reports as an error.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@Paebbels
Paebbels merged commit 5332242 into dev Oct 11, 2026
9 of 10 checks passed
@Paebbels
Paebbels deleted the claude/emoji-release-icons branch October 11, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants