Unicode Technical Report (UTR)
Informational documents published by the Unicode Consortium covering specific topics like security mechanisms (UTR#39), text segmentation (UTR#29), and line breaking (UTR#14).
What is a Unicode Technical Report (UTR)?
A Unicode Technical Report (UTR) is an informative document published by the Unicode Consortium that provides guidance, analysis, data, or algorithms related to Unicode text processing. UTRs are not normative — they do not define requirements that implementations must follow to be conformant — but they carry significant authority as the Consortium's official technical recommendations and are widely implemented across platforms and programming languages.
UTRs are numbered sequentially and cover topics ranging from security vulnerabilities to text layout algorithms. They are distinct from the Unicode Standard itself and from Unicode Standard Annexes.
Key UTRs
UTR #39 — Unicode Security Mechanisms
Perhaps the most security-critical Unicode document, UTR #39 defines algorithms and data for detecting potentially dangerous uses of Unicode in identifiers and text. It introduces the concepts of confusables, mixed-script detection, and identifier profiles. The associated data files (confusables.txt, intentional.txt) are used by browsers, programming language parsers, and security tools worldwide.
UTR #36 — Unicode Security Considerations A companion to UTR #39, this report catalogs the full range of security problems that arise from Unicode's complexity: visual spoofing, delimiter confusion, canonicalization attacks, overlong encodings (historical UTF-8 issue), and more. Essential reading for anyone building security-sensitive systems that process Unicode text.
UTR #29 — Unicode Text Segmentation (now a UAX) Originally a Technical Report, UTR #29 defined rules for finding grapheme cluster, word, and sentence boundaries. It has since been promoted to a Unicode Standard Annex (UAX #29), reflecting its normative status. Its history as a UTR illustrates the lifecycle: TR → promoted to UAX as implementations matured.
UTR #14 — Unicode Line Breaking Algorithm (now a UAX) Similarly, the line breaking algorithm — defining where text may be broken across lines — began as UTR #14 and was promoted to UAX #14 as it became essential infrastructure.
UTR #50 — Unicode Vertical Text Layout Defines the Vertical_Orientation property used by CSS writing-mode and other vertical layout implementations for East Asian text.
How UTRs Differ from UAXes
| Aspect | UTR | UAX |
|---|---|---|
| Normative status | Informative only | Normative (part of the Standard) |
| Conformance | Not required | May be required |
| Publication | Standalone document | Integral to Unicode version releases |
| Lifecycle | May be superseded, withdrawn, or promoted | Updated with each Unicode version |
UTRs often serve as the research and development stage for features that may eventually become normative UAXes. When the community achieves consensus on an algorithm or property, it may be promoted to a UAX and bundled with the Unicode Standard release.
Finding UTRs
All current UTRs are published at https://www.unicode.org/reports/ alongside UAXes and Unicode Technical Standards (UTSes). Each document lists its current status, revision history, and whether it has been superseded.
Quick Facts
| Property | Value |
|---|---|
| Normative status | Informative (not required for conformance) |
| Naming convention | UTR #N (e.g., UTR #39) |
| Key security UTR | UTR #39 — Unicode Security Mechanisms |
| Key security data | confusables.txt, intentional.txt |
| Publication URL | unicode.org/reports/ |
| Lifecycle | May be promoted to UAX or withdrawn |
| Related document types | UAX (normative), UTS (standard), UTS (data) |
คำศัพท์ที่เกี่ยวข้อง
เพิ่มเติมใน มาตรฐาน Unicode
ระนาบ 0 (U+0000–U+FFFF) ประกอบด้วยอักขระที่ใช้บ่อยที่สุด ได้แก่ Latin, Greek, Cyrillic, CJK, Arabic และสัญลักษณ์ส่วนใหญ่ อักขระในระนาบนี้พอดีกับหนึ่งหน่วยรหัส …
จีน ญี่ปุ่น และเกาหลี คำรวมสำหรับบล็อกอักษรจีน Han ที่รวมกันและอักษรที่เกี่ยวข้องใน Unicode CJK Unified Ideographs มีอักขระมากกว่า 20,992 …
The process of mapping Chinese, Japanese, and Korean ideographs that share a …
The individual consonant and vowel components (jamo) of the Korean Hangul writing …
มาตรฐานสากล (ISO/IEC 10646) ที่ซิงโครไนซ์กับ Unicode กำหนดชุดอักขระและจุดรหัสเดียวกัน แต่ไม่มีอัลกอริธึมและคุณสมบัติเพิ่มเติมของ Unicode
มาตรฐานการเข้ารหัสอักขระสากลที่กำหนดหมายเลขเฉพาะ (จุดรหัส) ให้กับทุกอักขระในทุกระบบการเขียน เวอร์ชัน 16.0 มีอักขระที่กำหนดแล้ว 154,998 ตัว
คอลเลกชันไฟล์ข้อมูลที่อ่านได้ด้วยเครื่องซึ่งกำหนดคุณสมบัติอักขระ Unicode ทั้งหมด รวมถึง UnicodeData.txt, Blocks.txt, Scripts.txt และอื่นๆ
Normative or informative documents that are integral parts of the Unicode Standard. …
จุดรหัสใดๆ ยกเว้นจุดรหัส surrogate (U+D800–U+DFFF) ชุดค่าที่ถูกต้องซึ่งสามารถแทนอักขระจริงได้ รวมทั้งสิ้น 1,112,064 ค่า
ค่าตัวเลขในพื้นที่รหัส Unicode (U+0000 ถึง U+10FFFF) เขียนในรูปแบบ U+XXXX ไม่ใช่ทุกจุดรหัสที่จะถูกกำหนดให้กับอักขระ