Tag
BSE 2024 talk recap: Jimmy Lee explains from first principles how to build a truly usable multilingual text box using the Unicode and OpenType standards, emphasizing that the mapping from characters to glyphs is an irreversible, one-way data flow.
UTF-8000 is a proposed extension to UTF-8 that allows for arbitrarily large code units while preserving UTF-8 properties, presented as a standalone project with a reference implementation.
NVIDIA announced a $12.93 billion acquisition of Hugging Face, with the first six digits of the price encoding the 🤗 emoji in decimal. This playful detail was highlighted in social media posts from Polymarket and Julien Chaumond.
The article tracks and reports on terminal emulator support for Unicode's 'Symbols for Legacy Computing' blocks, highlighting compatibility for displaying legacy graphical characters across different terminals.
The article describes the development of enhanced binary file visualization features in the 'bine' hex editor, including colorized output using Unicode characters and a method to interpret binary files as images for large-scale viewing.
The article explains how Python's str.lower() function can introduce a security vulnerability in IDNA encoding due to mismatched Unicode versions, causing non-compliance with RFC standards and leading to inconsistent domain name handling.
This article explains why the up and down white arrows in Unicode render inconsistently on macOS, detailing Unicode code points and font design issues.
The article explains the origins of 'ghost characters' in Unicode, which stemmed from cataloging errors in the 1978 JIS X 0208 standard and have since been integrated into computer systems worldwide.
A deep dive into the complexity of splitting multiline text in Python, covering the many Unicode line break characters and the historical origins of newline representations in ASCII.
GitHub engineering describes how they optimized case-folding for their code search engine by removing early-exit branches, achieving memory-speed ASCII folding, and open-sourcing the result as a Rust crate called casefold.
A developer investigates why footnote backlink glyphs render as emoji in RSS readers, explores Unicode variation selectors (U+FE0E and U+FE0F) for controlling text vs emoji presentation, and discusses the broader challenges of variation selectors for web content.
libpdjson5 is a public domain C library for parsing JSON, JSON5, and JSON5E with full Unicode support, minimal memory footprint, and a streaming API. It is a fork of pdjson with various improvements including JSON5E support.
Mojibake is a self-contained Unicode 17 library for C11/C++17, providing normalization, case conversion, and character database functions with zero dependencies.
Perl v5.44.0 is released with new features including named parameters in subroutine signatures, multi-variable foreach with aliased references, enhanced regex under /xx, Unicode 17.0 support, and several security fixes for buffer overflows and regex trie overflow.
Simon Willison built a browser-based tool using WebAssembly to convert Mermaid diagrams into Unicode box art, inspired by an open-sourced Rust component from the Grok CLI coding agent.
Unicode's transliteration rules (UTS #35) are proven to be Turing-complete by compiling 2-tag systems, showing termination is undecidable. This result affects the ICU library used in many systems.
The Manichaean fleuron Unicode character has a right-to-left directional type that can cause unexpected text reordering in web layouts. The article explains the issue and provides fixes using HTML's <bdi> tag or CSS unicode-bidi property.
A deep dive into a bug where the Polish letter Ś disappeared on Medium, tracing the issue through typewriter history, communism, and Unicode normalization.
An article discussing the historical and technical challenges of rendering Arabic typography, focusing on the importance of ligatures for the basmala phrase and the role of Unicode in solving the problem.
The article explores various fundamental problems with text rendering in terminal emulators, including character definition ambiguity, Unicode handling issues, flawed 2D grid assumptions, and cursor desyncs, highlighting the difficulty of supporting complex scripts and fonts.