Age プロパティ
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://unicodefyi.com/iframe/glossary/age-property/" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://unicodefyi.com/glossary/age-property/
Add a dynamic SVG badge to your README or docs.
[](https://unicodefyi.com/glossary/age-property/)
Use the native HTML custom element.
文字が最初に割り当てられたUnicodeバージョン。システムやソフトウェアバージョン間での文字サポートを判断するのに役立ちます。
What Is the Age Property?
The Age property records the Unicode version in which a character was first assigned a code point. This property allows developers and researchers to determine which version of Unicode introduced a particular character—essential for compatibility testing, font planning, and detecting whether a string contains characters newer than a supported Unicode version.
Age values are version strings like 1.1, 2.0, 3.0, ..., 15.1. A code point that has never been assigned has an implied age of Unassigned. The property is immutable: a character's Age never changes once assigned, even if its properties (name, category) are later corrected.
Checking Age in Python
Python's unicodedata module does not expose Age directly, but the unicodedata.unidata_version string tells you which Unicode version the module implements. To check a character's introduction version you can use the unicodedata module's character lookup or a third-party library:
import unicodedata
import sys
# The Unicode version Python's unicodedata module implements
print(unicodedata.unidata_version) # e.g., "15.1.0"
print(sys.version)
# For Age lookups, use the 'unicodedata2' or 'unicodedataplus' package
# pip install unicodedataplus
try:
import unicodedataplus as udp
for char in ["A", "€", "😀", "\U0001F600"]:
age = udp.age(char)
name = unicodedata.name(char, "<unnamed>")
print(f" U+{ord(char):04X} Age={age:6} {name}")
except ImportError:
print("Install unicodedataplus for Age support")
# U+0041 Age=1.1 LATIN CAPITAL LETTER A
# U+20AC Age=2.1 EURO SIGN
# U+1F600 Age=6.1 GRINNING FACE
Why Age Matters
Emoji support timelines: Emoji characters have been added across many Unicode versions. Age tells you whether a character requires Unicode 6.0+ (face emoji), 8.0+ (skin tone modifiers), or 13.0+ (newer additions). Mobile operating systems typically lag Unicode releases by 12–24 months.
Legacy system compatibility: A database or file format limited to Unicode 3.0 cannot store CJK Extension B characters (added in 4.1) or any emoji. Age detection lets you validate input against a maximum supported version.
Font auditing: Font engineers use Age to prioritize glyph development—newer characters with high Age values may not yet be covered by commonly deployed fonts.
Notable Age Milestones
| Version | Year | Notable Additions |
|---|---|---|
| 1.1 | 1993 | Latin, Greek, Cyrillic, CJK core, Hebrew, Arabic |
| 2.1 | 1998 | Euro sign €, many combining marks |
| 4.1 | 2005 | CJK Extension B (42,711 characters) |
| 6.0 | 2010 | Emoji (first large batch, 722 characters) |
| 8.0 | 2015 | Skin tone modifiers |
| 13.0 | 2020 | 55 new emoji, Chorasmian, Yezidi scripts |
| 15.1 | 2023 | Latest release |
Quick Facts
| Property | Value |
|---|---|
| Unicode property name | Age |
| Type | Enumerated (version string) |
| Python built-in | No (use unicodedataplus or regex package) |
| Immutability | Age never changes after assignment |
| Unassigned value | Unassigned (implied) |
| Spec reference | Unicode Standard Annex #44, DerivedAge.txt |
関連用語
プロパティ のその他の用語
Unicode property (UAX#11) classifying characters as Narrow, Wide, Fullwidth, Halfwidth, Ambiguous, or …
Unicode property controlling how Arabic and Syriac characters connect to adjacent characters. …
Unicode property listing all scripts that use a character, broader than the …
文字を大文字・小文字・タイトルケースに変換するルール。ロケール依存の場合があり(トルコ語のI問題)、1対多のマッピングもあります(ß → SS)。
文字が属する文字体系(例:ラテン、キリル、漢字)。Unicode 16.0は168個のスクリプトを定義し、Scriptプロパティはセキュリティと混在スクリプト検出に重要です。
サポートしていないプロセスで目に見える効果なく無視できる文字で、異体字セレクター・ゼロ幅文字・言語タグなどが含まれます。
名前付きの連続したコードポイント範囲(例:基本ラテン = U+0000〜U+007F)。Unicode 16.0は336個のブロックを定義し、すべてのコードポイントはちょうど1つのブロックに属します。
RTLコンテキストでグリフを水平に反転すべき文字。例:( → )、[ → ]、{ → }、« → »。
すべてのコードポイントを30個のカテゴリ(Lu・Ll・Nd・Soなど)の1つに分類する体系で、7つの主要クラス(文字・記号・数字・句読点・記号・区切り・その他)にグループ化されています。
同じ抽象的内容を持つが外観が異なる場合がある2つの文字シーケンス。正規等価より広い概念。例:fi ≈ fi、² ≈ 2。