List of all Unicode’s open/close brackets

There is a plain-text database of information about every Unicode character available from the Unicode Consortium; the format is described in Unicode Annex #44. The primary information is contained in UnicodeData.txt. Open and close punctuation characters are denoted with Ps (punctuation start) and Pe (punctuation end) in the General_Category field (the third field, delimited by ;). Look for those character, and you’ll find what you’re looking for.

Note that not all characters that you consider brackets may be listed; for instance, quotation marks (including “«»”). are indicated with Pi and Pf (initial and final punctuation), so you might want to include those as well. And some character, like < and >, are used as brackets in some contexts (such as HTML/XML), while they are considered math symbols (Sm) in UnicodeData.txt. Those you are going to have to find by hand; there is no pre-determined listing of those.

Here’s a quick Bash script to get this information, and its output. I’ve included both brackets and quotes. (note: on some Bash implementations UTF-8 printing has a bug that causes it to print U+00AB “«” and U+00BB “»” as “?”, and some terminals don’t have the ability to render all characters correctly.)

while IFS=';' read number name category rest
do 
    if [[ "$category" =~ Ps|Pe|Pi|Pf ]]
    then 
        printf "%s (U+%s, %s): \u"$number"\n" "$name" "$number" "$category"
    fi
done <UnicodeData.txt
LEFT PARENTHESIS (U+0028, Ps): (
RIGHT PARENTHESIS (U+0029, Pe): )
LEFT SQUARE BRACKET (U+005B, Ps): [
RIGHT SQUARE BRACKET (U+005D, Pe): ]
LEFT CURLY BRACKET (U+007B, Ps): {
RIGHT CURLY BRACKET (U+007D, Pe): }
LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB, Pi): «
RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB, Pf): »
TIBETAN MARK GUG RTAGS GYON (U+0F3A, Ps): ༺
TIBETAN MARK GUG RTAGS GYAS (U+0F3B, Pe): ༻
TIBETAN MARK ANG KHANG GYON (U+0F3C, Ps): ༼
TIBETAN MARK ANG KHANG GYAS (U+0F3D, Pe): ༽
OGHAM FEATHER MARK (U+169B, Ps): ᚛
OGHAM REVERSED FEATHER MARK (U+169C, Pe): ᚜
LEFT SINGLE QUOTATION MARK (U+2018, Pi): ‘
RIGHT SINGLE QUOTATION MARK (U+2019, Pf): ’
SINGLE LOW-9 QUOTATION MARK (U+201A, Ps): ‚
SINGLE HIGH-REVERSED-9 QUOTATION MARK (U+201B, Pi): ‛
LEFT DOUBLE QUOTATION MARK (U+201C, Pi): “
RIGHT DOUBLE QUOTATION MARK (U+201D, Pf): ”
DOUBLE LOW-9 QUOTATION MARK (U+201E, Ps): „
DOUBLE HIGH-REVERSED-9 QUOTATION MARK (U+201F, Pi): ‟
SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039, Pi): ‹
SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A, Pf): ›
LEFT SQUARE BRACKET WITH QUILL (U+2045, Ps): ⁅
RIGHT SQUARE BRACKET WITH QUILL (U+2046, Pe): ⁆
SUPERSCRIPT LEFT PARENTHESIS (U+207D, Ps): ⁽
SUPERSCRIPT RIGHT PARENTHESIS (U+207E, Pe): ⁾
SUBSCRIPT LEFT PARENTHESIS (U+208D, Ps): ₍
SUBSCRIPT RIGHT PARENTHESIS (U+208E, Pe): ₎
LEFT-POINTING ANGLE BRACKET (U+2329, Ps): 〈
RIGHT-POINTING ANGLE BRACKET (U+232A, Pe): 〉
MEDIUM LEFT PARENTHESIS ORNAMENT (U+2768, Ps): ❨
MEDIUM RIGHT PARENTHESIS ORNAMENT (U+2769, Pe): ❩
MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT (U+276A, Ps): ❪
MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT (U+276B, Pe): ❫
MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT (U+276C, Ps): ❬
MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT (U+276D, Pe): ❭
HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT (U+276E, Ps): ❮
HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT (U+276F, Pe): ❯
HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT (U+2770, Ps): ❰
HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT (U+2771, Pe): ❱
LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT (U+2772, Ps): ❲
LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT (U+2773, Pe): ❳
MEDIUM LEFT CURLY BRACKET ORNAMENT (U+2774, Ps): ❴
MEDIUM RIGHT CURLY BRACKET ORNAMENT (U+2775, Pe): ❵
LEFT S-SHAPED BAG DELIMITER (U+27C5, Ps): ⟅
RIGHT S-SHAPED BAG DELIMITER (U+27C6, Pe): ⟆
MATHEMATICAL LEFT WHITE SQUARE BRACKET (U+27E6, Ps): ⟦
MATHEMATICAL RIGHT WHITE SQUARE BRACKET (U+27E7, Pe): ⟧
MATHEMATICAL LEFT ANGLE BRACKET (U+27E8, Ps): ⟨
MATHEMATICAL RIGHT ANGLE BRACKET (U+27E9, Pe): ⟩
MATHEMATICAL LEFT DOUBLE ANGLE BRACKET (U+27EA, Ps): ⟪
MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET (U+27EB, Pe): ⟫
MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET (U+27EC, Ps): ⟬
MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET (U+27ED, Pe): ⟭
MATHEMATICAL LEFT FLATTENED PARENTHESIS (U+27EE, Ps): ⟮
MATHEMATICAL RIGHT FLATTENED PARENTHESIS (U+27EF, Pe): ⟯
LEFT WHITE CURLY BRACKET (U+2983, Ps): ⦃
RIGHT WHITE CURLY BRACKET (U+2984, Pe): ⦄
LEFT WHITE PARENTHESIS (U+2985, Ps): ⦅
RIGHT WHITE PARENTHESIS (U+2986, Pe): ⦆
Z NOTATION LEFT IMAGE BRACKET (U+2987, Ps): ⦇
Z NOTATION RIGHT IMAGE BRACKET (U+2988, Pe): ⦈
Z NOTATION LEFT BINDING BRACKET (U+2989, Ps): ⦉
Z NOTATION RIGHT BINDING BRACKET (U+298A, Pe): ⦊
LEFT SQUARE BRACKET WITH UNDERBAR (U+298B, Ps): ⦋
RIGHT SQUARE BRACKET WITH UNDERBAR (U+298C, Pe): ⦌
LEFT SQUARE BRACKET WITH TICK IN TOP CORNER (U+298D, Ps): ⦍
RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER (U+298E, Pe): ⦎
LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER (U+298F, Ps): ⦏
RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER (U+2990, Pe): ⦐
LEFT ANGLE BRACKET WITH DOT (U+2991, Ps): ⦑
RIGHT ANGLE BRACKET WITH DOT (U+2992, Pe): ⦒
LEFT ARC LESS-THAN BRACKET (U+2993, Ps): ⦓
RIGHT ARC GREATER-THAN BRACKET (U+2994, Pe): ⦔
DOUBLE LEFT ARC GREATER-THAN BRACKET (U+2995, Ps): ⦕
DOUBLE RIGHT ARC LESS-THAN BRACKET (U+2996, Pe): ⦖
LEFT BLACK TORTOISE SHELL BRACKET (U+2997, Ps): ⦗
RIGHT BLACK TORTOISE SHELL BRACKET (U+2998, Pe): ⦘
LEFT WIGGLY FENCE (U+29D8, Ps): ⧘
RIGHT WIGGLY FENCE (U+29D9, Pe): ⧙
LEFT DOUBLE WIGGLY FENCE (U+29DA, Ps): ⧚
RIGHT DOUBLE WIGGLY FENCE (U+29DB, Pe): ⧛
LEFT-POINTING CURVED ANGLE BRACKET (U+29FC, Ps): ⧼
RIGHT-POINTING CURVED ANGLE BRACKET (U+29FD, Pe): ⧽
LEFT SUBSTITUTION BRACKET (U+2E02, Pi): ⸂
RIGHT SUBSTITUTION BRACKET (U+2E03, Pf): ⸃
LEFT DOTTED SUBSTITUTION BRACKET (U+2E04, Pi): ⸄
RIGHT DOTTED SUBSTITUTION BRACKET (U+2E05, Pf): ⸅
LEFT TRANSPOSITION BRACKET (U+2E09, Pi): ⸉
RIGHT TRANSPOSITION BRACKET (U+2E0A, Pf): ⸊
LEFT RAISED OMISSION BRACKET (U+2E0C, Pi): ⸌
RIGHT RAISED OMISSION BRACKET (U+2E0D, Pf): ⸍
LEFT LOW PARAPHRASE BRACKET (U+2E1C, Pi): ⸜
RIGHT LOW PARAPHRASE BRACKET (U+2E1D, Pf): ⸝
LEFT VERTICAL BAR WITH QUILL (U+2E20, Pi): ⸠
RIGHT VERTICAL BAR WITH QUILL (U+2E21, Pf): ⸡
TOP LEFT HALF BRACKET (U+2E22, Ps): ⸢
TOP RIGHT HALF BRACKET (U+2E23, Pe): ⸣
BOTTOM LEFT HALF BRACKET (U+2E24, Ps): ⸤
BOTTOM RIGHT HALF BRACKET (U+2E25, Pe): ⸥
LEFT SIDEWAYS U BRACKET (U+2E26, Ps): ⸦
RIGHT SIDEWAYS U BRACKET (U+2E27, Pe): ⸧
LEFT DOUBLE PARENTHESIS (U+2E28, Ps): ⸨
RIGHT DOUBLE PARENTHESIS (U+2E29, Pe): ⸩
LEFT ANGLE BRACKET (U+3008, Ps): 〈
RIGHT ANGLE BRACKET (U+3009, Pe): 〉
LEFT DOUBLE ANGLE BRACKET (U+300A, Ps): 《
RIGHT DOUBLE ANGLE BRACKET (U+300B, Pe): 》
LEFT CORNER BRACKET (U+300C, Ps): 「
RIGHT CORNER BRACKET (U+300D, Pe): 」
LEFT WHITE CORNER BRACKET (U+300E, Ps): 『
RIGHT WHITE CORNER BRACKET (U+300F, Pe): 』
LEFT BLACK LENTICULAR BRACKET (U+3010, Ps): 【
RIGHT BLACK LENTICULAR BRACKET (U+3011, Pe): 】
LEFT TORTOISE SHELL BRACKET (U+3014, Ps): 〔
RIGHT TORTOISE SHELL BRACKET (U+3015, Pe): 〕
LEFT WHITE LENTICULAR BRACKET (U+3016, Ps): 〖
RIGHT WHITE LENTICULAR BRACKET (U+3017, Pe): 〗
LEFT WHITE TORTOISE SHELL BRACKET (U+3018, Ps): 〘
RIGHT WHITE TORTOISE SHELL BRACKET (U+3019, Pe): 〙
LEFT WHITE SQUARE BRACKET (U+301A, Ps): 〚
RIGHT WHITE SQUARE BRACKET (U+301B, Pe): 〛
REVERSED DOUBLE PRIME QUOTATION MARK (U+301D, Ps): 〝
DOUBLE PRIME QUOTATION MARK (U+301E, Pe): 〞
LOW DOUBLE PRIME QUOTATION MARK (U+301F, Pe): 〟
ORNATE LEFT PARENTHESIS (U+FD3E, Ps): ﴾
ORNATE RIGHT PARENTHESIS (U+FD3F, Pe): ﴿
PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET (U+FE17, Ps): ︗
PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET (U+FE18, Pe): ︘
PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS (U+FE35, Ps): ︵
PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS (U+FE36, Pe): ︶
PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET (U+FE37, Ps): ︷
PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET (U+FE38, Pe): ︸
PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET (U+FE39, Ps): ︹
PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET (U+FE3A, Pe): ︺
PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET (U+FE3B, Ps): ︻
PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET (U+FE3C, Pe): ︼
PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET (U+FE3D, Ps): ︽
PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET (U+FE3E, Pe): ︾
PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET (U+FE3F, Ps): ︿
PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET (U+FE40, Pe): ﹀
PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET (U+FE41, Ps): ﹁
PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET (U+FE42, Pe): ﹂
PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET (U+FE43, Ps): ﹃
PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET (U+FE44, Pe): ﹄
PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET (U+FE47, Ps): ﹇
PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET (U+FE48, Pe): ﹈
SMALL LEFT PARENTHESIS (U+FE59, Ps): ﹙
SMALL RIGHT PARENTHESIS (U+FE5A, Pe): ﹚
SMALL LEFT CURLY BRACKET (U+FE5B, Ps): ﹛
SMALL RIGHT CURLY BRACKET (U+FE5C, Pe): ﹜
SMALL LEFT TORTOISE SHELL BRACKET (U+FE5D, Ps): ﹝
SMALL RIGHT TORTOISE SHELL BRACKET (U+FE5E, Pe): ﹞
FULLWIDTH LEFT PARENTHESIS (U+FF08, Ps): (
FULLWIDTH RIGHT PARENTHESIS (U+FF09, Pe): )
FULLWIDTH LEFT SQUARE BRACKET (U+FF3B, Ps): [
FULLWIDTH RIGHT SQUARE BRACKET (U+FF3D, Pe): ]
FULLWIDTH LEFT CURLY BRACKET (U+FF5B, Ps): {
FULLWIDTH RIGHT CURLY BRACKET (U+FF5D, Pe): }
FULLWIDTH LEFT WHITE PARENTHESIS (U+FF5F, Ps): ⦅
FULLWIDTH RIGHT WHITE PARENTHESIS (U+FF60, Pe): ⦆
HALFWIDTH LEFT CORNER BRACKET (U+FF62, Ps): 「
HALFWIDTH RIGHT CORNER BRACKET (U+FF63, Pe): 」

Leave a Comment

tech