Skip to content

Fix Roboto Mono font#2199

Merged
C85297 merged 2 commits intogchq:masterfrom
C85297:fix-roboto-mono-font
Feb 20, 2026
Merged

Fix Roboto Mono font#2199
C85297 merged 2 commits intogchq:masterfrom
C85297:fix-roboto-mono-font

Conversation

@C85297
Copy link
Copy Markdown
Member

@C85297 C85297 commented Feb 20, 2026

Closes #2197

The Roboto Mono font did not contain any kernings. JIMP assumes that some kernings will be present when parsing the font, so font parsing failed. This only occurred since the recent JIMP update #2171

I have fixed the error by adding a kerning which I believe will evaluate to a no-op. I've tested and the rendering appears correct.

Test case:

https://gchq.github.io/CyberChef/#recipe=Add_Text_To_Image('test','Center','Middle',0,0,32,'Roboto%20Mono',255,255,0,255)&input=iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAMAAAAL34HQAAAAeFBMVEUBAQGJiYmFhYWBgYFubm7NQBhbW1tWVlZPT0%2BdMBNJSUmJKg%2BIKg%2BHKg9%2BJw16Jg15Jg1yIwxxIwxwIgxpIAxpIAtoIAtkHwtbGwpaGwpXGwpTGQpQGApPGApMFghLFghKFghGFgdEFgdCEwc7Ewc5EQcxDwYAAACGZtsMAAAAAXRSTlMAQObYZgAACF5JREFUeNrd3F1v00gUBmBa56OBUECkIVHSiqAK////U6RIBYkIgdS7bkWXPUrmzDv2O52vuNmIc7E2idd%2BNJ55M4cLXvz1NRodI0rq6GD9/o41Hh8TaluC2tYxoaROT8emjgklBdgRoQh2DKijgY2g8rpej/6vnHJhZ1IuCjl2YJTUWGFnphTV1ysOPKe2KCnAXJR7xYEnujEABlTrigOvPsAwWkC5VxwQ1YCdmWqgCHYAVBB2kBxjVBCmVxwC1ogpk1ONZ9ZSW5Uct1/o0Q2yZ0A1YGZggDJ1Zo6nenRRHcNMCI1sGjgDA5QZLns0ZTIDt%2Bh2To1sGrQGxkHtyhwB67du0e1Ex%2BtyB0S%2BA8otGRu9Frcw1e3qUxQGxnzvQe0KMFqV3UWCvhjKT/lqW8qTC7YqHVL5mOKiGxSeTPnZNNtfbEE51m5gNgzgUodd8foBscBmFlRyi4KcCsJGuwKsKbAoWBm1raJmtAXD00Z6BTju0e4LsUhaKDyjpBkFzNwSML1CBwRHuy9sRoqDym54XQVguMdrOxD1GCwUWH38iOsXiqJnFDWj/fZbFVQzKICysdHcXegXiqJnZEWCDojOcB0I%2Br2hD3CHBsvegeMiK6d0QOyyU5SWougDvQNeImDJOfaKVLqWdIrbu2LvEi69g1HBJSq/6xOzXjFM15IGgn0Hut6DKPcOQJk7eFGfvCyGtZpRDtiwCnMLuWITh1FPss7Pm90UN6Pot0Ko1tzCaDWi0EVdXYVYUrFmFG207lm8KIW465QaXqCirHfvMDieZlRnhz6vLxWCAUUNr%2B7DFwtlXQdYUjSVsAhQCmQYdtIoat/0GYuFsq6vI6yLaRA1lgqj3PmkRy9sPlOWoJ5ivX1rWBcX0wBKJ10IpXSUBzaT2rFWqxBLyrAuvDkG1EhKUVT2CsxEb04pa7WKsiYTZTGMmlFFMYwaXkYp6/IyhSWlLCfH2kHW6CB01OwmRn8XGtuYZk4p6/IymTWbKQswoEzZDqKdQppXo3ZMOagylhRWpqY8UDpd3B0UGntsEMZauAVyak%2BWlP4mMkofW5t63dpOAaa7fzen9mJJTSld2wOyUzkX%2BPNzvkBOFbGQY1KSY5Su7QEhFMPmsvCQU0Us5JgGmf%2BpTnj2w1doTCGnClj4s7KQYz6UlBeGnFIWGHuxBGaDzNu2oEvjhteUXXiC6oolHygLOUbNqC5LwIBy8qBTlgSsXZrazgIFFmC4AjHVKYsTA%2B0sUNvihldySlnXz8uSmtIPsW5dWru8mU1PKLpnvRWWyTHaHejWBTDJKWVB8SwsCVhPjkVySsKzlHVyksSS8uZYMKdWiazhkFlSiSzkGGCMQk6lsQTlZ0mlsDTHqOGlZhRPjbMGQz/LVIQFt7IAAyqbNRiEWVKJrBk1vNSMprIE9RSrqgDLZUn5mtE0lqCCLAdWZbMuptSMprGGgxgLLjmdJ7HQ8EpRMxpniSSLJecxFjW8aEYTWeJIZtWGJYcwixpeNKMpLEEpq05h1bVhSYVY1PBCkcAShmHVdRpLCi80wsIHWSzDkKrrOKsyLCksyzSWVCoLOSUoZQ1DLIHVWsixblmY4rWWQXlZWrUH1h1roAVULZ4Ai2GVA5t3wXLygFAxFlxyCtj%2BLMSUnEBVwJJzZOx%2BLMEYllCKWZVhyQHRX84SjWEZSi2HApYclCUwG/1lLPy%2B1EqR/xSy8EIFZKM/nzUwZcYKlL1ZppBj6ayBU92zhIR1mc4CaDgsZfV6IRZKgLN5nNVEBVkvX4ZYUkGWuyrjLPfVhViCeorVMywpZkkZFlalVJglDItSlkiIJShlvVTNqdP6OGdcaMRP7f9zf69nXLe3iTeuKvcMLIJRgUOwO/%2B13zyojx/pMuYxi4thPHZ3gAH1Tc9WqygKVcBCMexn85sNoVDZrHM9%2BfPnBddNEPbTgW02wfEJj9kSLOtyYDwxbiKwH7vjrwgqqFoalbII9uWLB3btg33Wsx8/BPXLvj7f89eeD9drQvHcev8eMO/g8OB9BgyoFZ5KAD9qsfDOLcBCcQGXC2tf5aIgCEQCUMT6R08%2BfCBYhwUdUPO5nv0LlnURDJM/uU4iqHUQJSqwGIZBBYxDAh/y8K69KkJhCIAiFsMw%2BTkk%2BEOg1pExY9Tv36EpD9iJGxfhAWvd44RQ4UgAilmohwdPjsV/xBPXScUoPJFZfthkkrq7CM35KhQJjGIWXmUujAuUXBRYDLvXs%2Bl0Lxih6PVFWDxiDLspjdFbQiESUlkMW1AeZBV20BNC5bA4xwDLfpWPQE0oEvJYDFuel82xx0d7B0IVsTjHos0Mrz6gaKKXshg2CcDCkUCochZgvhy7AcyPuo3mVJzV6yXOsckUqxIwoHj1LXNRYMVh94gLhqGA4pwCKoUFWIXzSI7FVl96TjGE51ZV5eRYHIVIiKBOCVkIW74JXJaXU5UqmHV3lwqzM%2BSNH8Y5FUFVmKoui2GxHAMMazFrl4DqEQos/kuOeI5xXwnU1VUExav/i6CYxX/JEcsxhkVRrKJ2gVgK2xTmGPq%2B7JxaK4pZqM0mP8emQGXlFLdvzALse0mOIaeAiufUV6CIRfW9BDbJz6mvX8NjybC7bBhQqTkFVJwVDVjOMfpTangms8py7KEop7JZnGPRPX8iCjmVxcrOMcAecnKqkIXaEKyoOKfKWYDFJ388pxhVzuIcK0dxTpWzymG4HqhCVmmOledUOQuwzOr1CFXIKs%2Bx8pwqZwGWGRdAdc8qzzGOhO5ZDKsKNnnlrPK44JwqZHUNqwjVCas8xzinDstiWKAZPTCLN4q8yTs8iwOWwvOQLIZteJN3BCzkGHLqaGo2my3x1zTHBFv%2B9f8u73%2BzcrKOPaZV/gAAAABJRU5ErkJggg

On my branch, results in:

image

@C85297 C85297 self-assigned this Feb 20, 2026
@C85297 C85297 enabled auto-merge (squash) February 20, 2026 10:32
Copy link
Copy Markdown
Contributor

@GCHQDeveloper581 GCHQDeveloper581 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks for your contribution.

@C85297 C85297 merged commit d71dad8 into gchq:master Feb 20, 2026
2 checks passed
mkilijanek pushed a commit to mkilijanek/CyberChef that referenced this pull request Feb 23, 2026
Incorporates 37 upstream commits from gchq/CyberChef master including:
- Fix: Move Magic checks from Escape to Unescape Unicode Characters (gchq#2195)
- Paste spreadsheets as text (gchq#2200)
- Fix Roboto Mono font (gchq#2199)
- Fix return of buffer for PNG QR image generation (gchq#2125)
- Update JIMP (gchq#2171)
- Bump v10.22.1 (gchq#2193)
- Bump v10.22.0 (gchq#2189)
- Fixed Percent delimiter for hex encoding (gchq#2137)
- Added ability to paste Images from Clipboard (gchq#1876)
- Quoted Printable improvements (gchq#2186)
- Fix freeze when output text decoding fails (gchq#1573)
- Fix import operations with special chars (gchq#1040)
- Add Bech32 encode/decode operations
- Various bug fixes and improvements

Conflict resolution:
- Workflow files: kept Node 24 + actions@v4 (local upgrade)
- package.json: kept jsonwebtoken 9.0.0, fixJimpModule postinstall, added upstream 'tag' script
- package-lock.json: kept local version (consistent with jimp 1.6.0 install)
- sitemap.mjs: kept modern 'with' import assertion syntax
- Code.mjs: kept escaped curly brace regex for Node 24 compatibility
- newMinorVersion.mjs: added upstream ignoredAuthors constant

https://claude.ai/code/session_011xozAMdxys1JF7nLRQsMtg
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.

Bug report: Text to Image with Roboto Mono font gives error

2 participants