Unicode 標準

Unicode バージョン

新しい文字・文字体系・機能を追加するUnicode標準の主要リリース。現在のバージョンはUnicode 16.0(2025年9月)です。

· Updated

What is a Unicode Version?

A Unicode version is a numbered, dated release of the Unicode Standard that may add new characters, scripts, blocks, emoji, or property values, and may update algorithms, documentation, or normalization tables. Each version is identified by a major.minor numbering scheme (e.g., 15.0, 15.1, 16.0), and versions are published on a roughly annual cycle.

Understanding Unicode versions matters for software developers because: - An application may not support characters added in versions newer than its Unicode library - Character properties can change between minor versions (though stability policies limit this) - Emoji added in a new version will display as boxes ("tofu") on devices with older Unicode support

Version History Highlights

Version Year Notable Additions
1.0 1991 First release — 7,129 characters, 24 scripts
2.0 1996 Extended to 17 planes; surrogate pairs standardized
3.0 1999 49,194 characters; Braille, Ethiopic, Cherokee
4.0 2003 Cypriot, Gothic, Shavian
5.0 2006 NKo, Balinese, Coptic
6.0 2010 Emoji officially added (722 characters)
7.0 2014 Pictographic symbols, chess symbols
8.0 2015 Skin tone modifiers for emoji
10.0 2017 Bitcoin sign (₿), 56 emoji
12.0 2019 61 new emoji including gender-neutral options
13.0 2020 55 new emoji; Chorasmian, Dives Akuru scripts
14.0 2021 37 new emoji; Toto, Vithkuqi scripts
15.0 2022 20 new emoji; Kawi, Nag Mundari
15.1 2023 Minor update; 627 new CJK ideographs
16.0 2024 154,998 total characters; Garay, Sunuwar scripts

Major vs Minor Versions

Unicode uses a two-level versioning scheme:

  • Major versions (e.g., 15.0 → 16.0): Can add new scripts, new blocks, new characters, and may update normalization data
  • Minor versions (e.g., 15.0 → 15.1): More limited — typically add characters to existing blocks, fix documentation errors, or update property values for already-assigned characters. The Unicode Stability Policy restricts what can change in minor versions.

Checking Unicode Version in Code

import sys
import unicodedata

# Python's supported Unicode version
print(sys.version)                    # includes Python version
print(unicodedata.unidata_version)    # e.g., "15.0.0"

# Check if a character was assigned in the current version
name = unicodedata.name("😀", "UNKNOWN")
print(name)  # "GRINNING FACE"
// JavaScript environments don't expose Unicode version directly
// but Intl.Collator and RegExp /u flag use the engine's Unicode version

// In V8 (Node.js), check:
// node --version alongside ICU version in process.versions.icu
console.log(process.versions.unicode); // e.g., "15.0"

Version Compatibility Issues

The "tofu" problem: Emoji added in Unicode 15.0 display as a box or question mark on devices that shipped before version 15.0 support was added to their OS. This is most common on older Android versions.

Library lag: Python 3.11 uses Unicode 15.0; Python 3.13 uses Unicode 15.1. If your application processes text with characters from a version newer than your Python's Unicode library, those characters may be misclassified.

Normalization stability: Once a character's decomposition is defined, it cannot change. This means normalization form conversions are version-stable for all previously assigned characters.

Quick Facts

Property Value
Current version 16.0 (September 2024)
Total assigned (v16.0) 154,998 characters
New scripts in v16.0 Garay, Sunuwar, Gurung Khema, Kirat Rai, Ol Onal
Release cadence Approximately annual
Version format major.minor (e.g., 15.1)
Stability guarantee Assigned characters never removed or reassigned
Emoji count (v16.0) ~3,790 (with all variations/sequences)

関連用語

Unicode 標準 のその他の用語

CJK(漢字・かな・ハングル)

中国語・日本語・韓国語 — Unicodeにおける統合漢字ブロックと関連スクリプトをまとめた総称。CJK統合漢字は20,992文字以上を含みます。

Han Unification

The process of mapping Chinese, Japanese, and Korean ideographs that share a …

Hangul Jamo

The individual consonant and vowel components (jamo) of the Korean Hangul writing …

ISO 10646 / 万国文字集合

Unicodeと同期している国際標準(ISO/IEC 10646)で、同じ文字目録とコードポイントを定義しますが、Unicodeの追加アルゴリズムやプロパティは含みません。

Unicode

あらゆる文字システムのすべての文字に固有の番号(コードポイント)を割り当てる普遍的文字エンコーディング規格。バージョン16.0には154,998個の割り当て済み文字が含まれます。

Unicode Standard Annex (UAX)

Normative or informative documents that are integral parts of the Unicode Standard. …

Unicode Technical Report (UTR)

Informational documents published by the Unicode Consortium covering specific topics like security …

Unicode コンソーシアム

Unicode標準を開発・維持する非営利団体。Apple・Google・Microsoft・Metaなど多くの企業が会員です。

Unicode スカラー値

サロゲートコードポイント(U+D800〜U+DFFF)を除くすべてのコードポイント。実際の文字を表すことができる有効な値の集合で、合計1,112,064個です。

Unicode 安定性ポリシー

一度割り当てられた文字のコードポイントと名前は絶対に変更されないことを保証するポリシー。プロパティは改訂される場合がありますが、割り当ては永続的です。