Draft

Ribose Standard

111 (draft 2024-10-25)
Vertical layout rendering
Ribose Standard

Draft

Warning for Drafts

This document is not a Ribose Standard. It is distributed for review and comment, and is subject to change without notice and may not be referred to as a Standard. Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.





Introduction

This specification defines a markup syntax for encoding Han-script documents with semantic annotations, called Hanodoc.

Hanodoc is designed according to the following principles:

  • Human-readable

  • Input-friendly across devices

  • Compatible with existing text systems

  • Minimalistic in non-display syntax

  • Unambiguous in parsing

  • Preserving original text semantics

  • Preserving original text features

1.  Scope

This specification covers the following aspects of the Hanodoc syntax:

  • Basic syntax structure

  • Delimiter selection

  • Text structure

  • Commentary and annotation

  • Editorial marks

2.  Normative references

There are no normative references in this document.

3.  Terms and definitions

For the purposes of this document, the following terms and definitions apply.

3.1. delimiter

A delimiter is a sequence of characters that marks the beginning and end of a section of text or a semantic unit.

3.2. markup

Markup is a set of symbols and rules used to annotate text with semantic information.

3.3. semantic annotation

Semantic annotation is the process of adding metadata to text to provide additional information about its meaning.

4.  Symbol selection

4.1.  Selection principles

The selection of symbols for markup delimiters is based on their availability across different platforms and systems.

The following principles guide the selection of delimiting symbol patterns:

  • Minimal typing effort for common markup. This means that the symbols accessible to the current language keyboard should be used for markup.

  • Avoidance of conflict with existing text symbols used for content expressions. The selected symbols should not be commonly used in the text for other purposes, for example, the use of ASCII parentheses by themselves as delimiters would clash with their use in textual expressions.

  • Compatibility with existing textual markup. The selected symbols should be compatible with existing text markup systems and not interfere with their operation. For example, the use of double angle brackets would conflict with the use of angle brackets in AsciiDoc.

  • Prioritize symbols that are universally available and easy-to-type combinations over more complex or less common symbols.

  • Minimize ambiguity in expression. Which also minimizes ambiguity for parsing and reduces the need for escaping symbols in the text. For example, the use of using different delimiter symbol sequences as beginning and ending delimiters facilitates encoding and parsing.

  • All features should be accessible on standard keyboards. ASCII symbols are available on all platform language keyboard configurations, and is selected as the basic syntax.

  • Compatibility of semantics across language-specific symbols. For example, the meaning of the full-width equal sign in markup should be equal to the ASCII equal sign.

4.2.  Symbol availability

The following platforms and language keyboard combinations are considered for symbol availability.

Symbols available on platforms and language keyboards:

Table 1
LanguagePlatformKeystrokes to accessSymbols

English

macOS

0

=\[],./;'\-

1 (Shift)

!@#$%^&*()~+{}<>?:"|_

1 (Alt)

¡™£¢¢∞§¶•ˆªº–≠æ…≤≥÷“‘

1 (Alt+Shift)

±⁄€‹›fifl‡°·‚—»ÚƯ˘¿”’

Windows (TODO: check Windows)

0

=\[],./;’\-`

1 (Shift)

!@#$%^&*()~+{}<>?:"|_

1 (Alt)

¡¿¤€¥«»“”

1 (Alt+Shift)

¢£¤¥¦§¨©ª«¬®¯°±²³µ¶·¸¹º»¼½¾¿

Linux

0

=\[],./;’\-`

1 (Shift)

!@#$%^&*()~+{}<>?:"|_

?

?

iOS

1 (“123” key)

-/:;()$&@".,?!’

1 (“#+=” key)

[]{}#%^*+=_|\\~<>€£¥· (duplicate symbols to “123” pane not shown)

Chinese Traditional

macOS

0

=·-、;‘,。/【】

1 (Shift)

~+!@#$%⋯⋯&*()——|:“《》?「」

1 (Alt)32

·–«æ⋯⋯æ≤≥÷“‘

1 (Alt+Shift)

·±⁄€‹›fifl‡°·‚—»ÚƯ˘¿

iOS

1 (“123” key)

-/:;()——$@「」。,、?!.

1 (“#+=” key)

[]{}#%^*+=_——\|~《》€&·⋯,?! (duplicate symbols to “123” pane not shown)

Chinese Simplified

macOS

0

·=-、;‘,。/【】

1 (Shift)

~+!@#¥%……&*()——|:“《》?「」

1 (Alt)

·≠–«……æ≤≥÷”’

1 (Alt+Shift)

·±⁄€‹›fifl‡°·‚—»ÚƯ˘¿”’

iOS

1 (“123” key)

-/:;()$@“”。,、?.

1 (“#+=” key)

【】{}#%^*+=_——\|~€&·⋯,?! (duplicate symbols to “123” pane not shown)

Japanese

macOS

0

`=ー¥;’、。・「」

1 (Shift)

〜+!@#$%^&*()_|:”<>?『』

1 (Alt)

≠¡™£¢∞§¶•【】-\…‘,./[]

1 (Alt+Shift)

±⁄€‹›fifl‡°〔〕—»‥“¯˘…{}

2 (hold key)

《》 (「」 次候補), 【】 (「」 次候補)

iOS

1 (“123” key)

-/:@()「」$&。、?!

1 (“#+=” key)

[]{}#%^*+=_\;|<>”’€£.,?!. (duplicate symbols to “123” pane not shown)

2 (hold key)

《》 ([] 次候補), 【】 (「」 次候補)

Korean

macOS

0

₩=-\;',./[]

1 (Shift)

~+!@#$%^&*()_|:"<>?{}

1 (Alt)

=-;',./[]

1 (Alt+Shift)

(same as Shift plane)

iOS

1 (“123” key)

-/:;()$&@".,?!’

1 (“#+=” key)

[]{}#%^*+=_|\~<>€£¥· (duplicate symbols to “123” pane not shown)

NOTE  The backtick (U+0060) is excluded from the list of symbols as it is used to enclose code blocks in AsciiDoc.

4.3.  Symbols used in default AsciiDoc

The following symbols are used in the default AsciiDoc syntax:

Table 2
SymbolUnicodeUsage
* *U+002AEmphasis
_ _U+005FItalics
+ +U+002BInsertion
- -U+002DDeletion
~ ~U+007ESubscript
^ ^U+005ESuperscript
==U+003DTitle
[ ]U+005B, U+005DAttributes and anchors
[[[ ]]]U+005B, U+005DBibliographic reference
<< >>U+003C, U+003ECross-reference
__U+002FQuotation block
--U+0027Open block and source block
|U+007CTable cell
//U+002FComment
'U+0027Inline literal
"U+0022Quotation
(( ))U+0028, U+0029Index term

4.4.  CJK symbols reserved for markup compatibility

Full-width compatible symbols for the default AsciiDoc syntax:

Table 3
Full-width symbolUnicodeUnicode nameASCII equivalent
U+FF0AFullwidth Asterisk*
_U+FF3FFullwidth Low Line_
U+FF0BFullwidth Plus Sign+
U+FF0DFullwidth Hyphen-Minus-
U+FF5EFullwidth Tilde~
U+FF3EFullwidth Circumflex Accent^
U+FF1DFullwidth Equal Sign=
[ ]U+FF3B, U+FF3DFullwidth Left Square Bracket, Fullwidth Right Square Bracket[ ]
<>U+FF1C, U+FF1EFullwidth Left-Pointing Double Angle Quotation Mark, Fullwidth Right-Pointing Double Angle Quotation Mark< >
_U+FF0FFullwidth Solidus_
U+FF07Fullwidth Hyphen-Minus-
U+FF5CFullwidth Vertical Line|
U+FF0FFullwidth Solidus/
U+FF07Fullwidth Apostrophe'
U+FF02Fullwidth Quotation Mark"
()U+FF08, U+FF09Fullwidth Left Parenthesis, Fullwidth Right Parenthesis( )

4.5.  CJK symbols reserved for textual content

The following CJK symbols are traditionally used in textual content.

Therefore these symbols should not be used alone for markup, unless combined with other symbols into a delimiter.

Table 4
SymbolUnicodeUsage
「」U+300C, U+300DPrimary quotation
『』U+300E, U+300FSecondary quotation
()U+FF08, U+FF09Parentheses
U+FF0CFull-width comma
U+FF0DFull-width hyphen-minus
U+FF1AFull-width colon
U+FF1BFull-width semicolon
U+3001Enumeration comma
U+3002Period
U+FF01Full-width exclamation mark
U+FF1FFull-width question mark
U+2014Em dash
U+301CWave dash
·U+00B7Middle dot
U+22EFMidline horizontal ellipsis
U+2026Horizontal ellipsis

4.6.  CJK symbols available for markup

The following CJK symbols are available for markup.

This list explicitly excludes:

Table 5
SymbolUnicodeUnicode name
《》U+300A, U+300BLeft Double Angle Bracket, Right Double Angle Bracket
【】U+3010, U+3011Left Black Lenticular Bracket, Right Black Lenticular Bracket
〈〉U+3008, U+3009Left Angle Bracket, Right Angle Bracket
()U+FF08, U+FF09Fullwidth Left Parenthesis, Fullwidth Right Parenthesis
[]U+FF3B, U+FF3DFullwidth Left Square Bracket, Fullwidth Right Square Bracket
‹›U+2039, U+203ASingle Left-Pointing Angle Quotation Mark, Single Right-Pointing Angle Quotation Mark

5.  Symbols and delimiters

The following symbols are used as delimiters in the Hanodoc syntax.

5.1.  Bracket symbols selection

TODO

5.1.1.  ASCII compatibility symbols

Table 6
DelimiterUsageExample
(( ))Book titles((論語))
(# #)Annotations(#note:commentary#)
\(| |)Marginal notes(|margin:text|)
(< >)Range markers(<start>)text(<end>)
(+ +)Insertions(inserted text)
(- -)Deletions(-removed text-)
(~ ~)Variants(~variant~)

5.1.2.  Native CJK symbols

Table 7
DelimiterUnicodeUsageExample
《》U+300A, U+300BBook titles《論語》
【】U+3010, U+3011Technical marks【注:原文】
〈〉U+3008, U+3009Sub-references〈卷一〉
[]U+FF3B, U+FF3DSpecial marks[校:原缺]

6.  Semantic element encoding

6.1.  Proper name element

The proper name element is used to mark the name of a person, place, or thing.

The native delimiter for marking proper names is the single left-pointing angle quotation mark and the single right-pointing angle quotation mark.

The following elements can be supplemented to a proper name:

  • dynasty/era

  • date of birth and death

  • occupation

  • other relevant information

Native syntax:

‹{name}›
Figure 1
‹孔子›
‹曹操›
‹東京›
‹香港›
‹上海›
Figure 2
‹孔子›
‹人:孔子,魯›
‹人:曹操,三國,155-220›
‹地:東京›
‹地:香港›
‹地:上海›
Figure 3

Compatible ASCII syntax:

(|{name}|)
Figure 4
(|孔子|)
(|曹操|)
(|東京|)
(|香港|)
(|上海|)
Figure 5
(|person:孔子,dynasty=魯|)
(|person:曹操,dynasty=三國,birth=155,death=220|)
(|place:東京|)
(|place:香港|)
(|place:上海|)
Figure 6

Command syntax:

name:[{name}]
name:[{name},time={dynasty},birth={birth},death={death},occupation={occupation}]
Figure 7
place:[{place}]
place:[{place},time={dynasty}]
Figure 8
name:[孔子]
name:[曹操,time=三國,birth=155,death=220]
Figure 9
place:[東京]
place:[香港]
place:[上海]
Figure 10

In rendering Traditional Chinese text, the text in the proper name element shall be rendered as:

  • with the proper name mark (horizontal: _ with U+2574, vertical: with U+FF3F).

In rendering Japanese text, the text in the proper name element shall be rendered as:

  • normal text.

In rendering Simplified Chinese text, the text in the proper name element shall be rendered as:

  • with the proper name mark (horizontal: _ with U+2574, vertical: with U+FF3F).

6.2.  Title element

The title element is is the title of a book or document.

The native delimiter for marking titles is the double angle bracket. Sub-titles follow the main title using the sub-title delimiter.

Native syntax:

《{title}》
《{title}》〈{subtitle}〉〈{subsubtitle}〉
Figure 11
《論語》
《論語》〈學而〉〈為政〉
Figure 12
《老子》
《道德經》〈德經〉〈第一章〉
Figure 13

Compatible ASCII syntax:

(<{title}>)
(<{title}>)(<{subtitle}>)(<{subsubtitle}>)
Figure 14
((論語))
((論語))(<學而>)(<為政>)
Figure 15
((老子))
((道德經))(<德經>)(<第一章>)
Figure 16

Command syntax:

title:[{title}]
title:[{title};{subtitle};{subsubtitle}]
Figure 17
title:[論語]
title:[論語,學而,為政]
Figure 18

In rendering Traditional Chinese text, the text in the title element shall be rendered as one of:

  1. with the title mark (horizontal: wavy underline with U+301C, vertical: wavy underline with U+301C), with subtitles joined using the middle-dot (U+00B7) within the title mark

    論語
    論語·學而·為政
    Figure 19
  2. with the double angle bracket (U+300A, U+300B) for the title mark, with subtitles in the single angle bracket (U+3008, U+3009) following the title mark.

    《論語》
    《論語》〈學而〉〈為政〉
    Figure 20

In rendering Japanese text, the text in the title element shall be rendered as:

  1. with the title mark (horizontal: double angular quotation mark with U+300E, vertical: double angular quotation mark with U+300F), with subtitles following wrapped in 「」(U+300C, U+300D) brackets.

    『論語』
    『論語』「學而」「為政」
    Figure 21

In rendering Simplified Chinese text, the text in the title element shall be rendered as:

  1. with the double angle bracket (U+300A, U+300B) for the title mark, with subtitles in the single angle bracket (U+3008, U+3009) following the title mark.

    《论语》
    《论语》〈学而〉〈为政〉
    Figure 22

7.  Character-level modifications

7.1.  Reinstated text

(補文)

An insertion is a piece of text that is added to the original text.

The native delimiter for marking insertions is the plus sign.

The following elements can be supplemented to an insertion:

  • source of the insertion

  • author of the insertion

  • reason for the insertion

Native syntax:

【補:{text}】
【補:{text};據:{source}】
【補:{text};據:{source};{author}】
【+{text}+】
【+{text};據:{source}+】
【+{text};據:{source};{author}+】
Figure 23
《乙》本:廣德如不足,建德如【補:偷】。
《乙》本:廣德如不足,建德如【補:偷。據:‹王›本】。
《乙》本:廣德如不足,建德如【+偷+】。
《乙》本:廣德如不足,建德如【+偷。據:‹王›本+】。
Figure 24

Compatible ASCII syntax:

(+{text}+)
(+{text};source:{source}+)
(+{text};source:{source};{author}+)
Figure 25
《乙》本:廣德如不足,建德如(+偷+)
《乙》本:廣德如不足,建德如(+偷;source:‹王›本+)
Figure 26

Command syntax:

insert:[{text}]
insert:[{text};source={source}]
insert:[{text};source={source},author={author}]
Figure 27
《乙》本:廣德如不足,建德如 insert:[偷]
《乙》本:廣德如不足,建德如 insert:[偷;source=‹王›本]
Figure 28

In rendering Traditional Chinese, Japanese, Simplified Chinese text, the text in the insertion element shall be rendered as:

  • with the tortoise shell mark (horizontal: 〔〕 with U+3014/U+3015, vertical: ︹︺ with U+FE39/U+FE3A).

    廣德如不足,建德如〔偷〕。
    廣德如不足,建德如〔偷〕。據:‹王›本。
    Figure 29

7.2.  Extraneous text

(刪文)

A deletion is a piece of text that is removed from the original text.

The native delimiter for marking deletions is the minus sign.

The following elements can be supplemented to a deletion:

  • reason for the deletion

  • source of the deletion

  • author of the deletion

Native syntax:

【刪:{text}】
【刪:{text};據:{source}】
【刪:{text};據:{source};{author}】
【-{text}-】
【-{text};據:{source}-】
【-{text};據:{source};{author}-】
Figure 30
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘【刪:綆】。
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘【刪:綆;校本刪末句「綆」
字。戴震謂《周易音義》及《左傳正義》引《方言》無「綆」字,故《方言疏證》亦刪,與
校本同。】。
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘【-綆-】。
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘【-綆;校本刪末句「綆」
字。戴震謂《周易音義》及《左傳正義》引《方言》無「綆」字,故《方言疏證》亦刪,與
校本同。-】。
Figure 31

Compatible ASCII syntax:

(-{text}-)
(-{text};source:{source}-)
(-{text};source:{source};{author}-)
(-{text}-)
(-{text}-;source:{source})
Figure 32
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘(-綆-)
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘(-綆;source:校本刪末句「綆」
字。戴震謂《周易音義》及《左傳正義》引《方言》無「綆」字,故《方言疏證》亦刪,與
校本同。-)
Figure 33

Command syntax:

delete:[{text}]
delete:[{text};source={source}]
delete:[{text};source={source},author={author}]
Figure 34
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘 delete:[綆]
繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘 delete:[綆,reason=校本刪末句「綆」
字。戴震謂《周易音義》及《左傳正義》引《方言》無「綆」字,故《方言疏證》亦刪,與
校本同。]
Figure 35

In rendering Traditional Chinese, Japanese, Simplified Chinese text, the text in the deletion element shall be rendered as:

  • a footnote.

    繘,自關而東周洛韓魏之間謂之綆,或謂之絡。關西謂之繘^1^。

    ^1^ 刪:校本刪末句「綆」字。戴震謂《周易音義》及《左傳正義》引《方言》無「綆」字,
    故《方言疏證》亦刪,與校本同。
    Figure 36

7.3.  Editorial correction

(改文,校勘)

A correction is a piece of text that is changed from the original text.

The native delimiter for marking corrections is the ampersand symbol.

The following elements can be supplemented to a correction:

  • source of the correction

  • author of the correction

  • reason for the correction

Native syntax:

【改:{from};{to}】
【改:{text};據:{source}】
【改:{text};據:{source};{author}】
【&{from};{to}&】
【&{text};據:{source}&】
【&{text};據:{source};{author}&】
Figure 37
《漢【改:史;書】》曰:王者,父事天,母事地,子育黔黎。
《漢【改:史;書;注「史」當作「書」】》曰:王者,父事天,母事地,子育黔黎。
Figure 38

Compatible ASCII syntax:

(&{from}:{to}&)
(&{text};source:{source}&)
(&{text};source:{source};{author}&)
Figure 39
《漢(&史:書&)》曰:王者,父事天,母事地,子育黔黎。
《漢(&史:書;source:注「史」當作「書」&)》曰:王者,父事天,母事地,子育黔黎。
Figure 40

Command syntax:

correction:[{from}:{to}]
correction:[{text};source={source}]
correction:[{text};source={source},author={author}]
Figure 41
《漢 correction:[史:書]》曰:王者,父事天,母事地,子育黔黎。
《漢 correction:[史:書;source=注「史」當作「書」]》曰:王者,父事天,母事地,子育黔黎。
Figure 42

In rendering Traditional Chinese, Japanese, Simplified Chinese text, the text in the correction element shall be rendered as:

  • a footnote.

    《漢史^1^》曰:王者,父事天,母事地,子育黔黎。

    ^1^ 改:注「史」當作「書」。
    Figure 43

7.4.  Character current variant

(古今字異)

A current character variant is a character that is written in a different form from current practice.

The native delimiter for marking current character variants is the @ at-sign.

The following elements can be supplemented to a current character variant:

  • source of the variant

  • author of the variant

  • reason for the variant

Native syntax:

【形:{orig}:{current}】
【形:{orig}:{current};{text}】
【形:{orig};{current};{text};據:{source}】
【形:{orig};{current};{text};據:{source};{author}】
【@{orig}:{current}@】
【@{orig}:{current};{text}@】
【@{orig};{current};{text};據:{source}@】
【@{orig};{current};{text};據:{source};{author}@】
Figure 44
《甲》本:不出於戶,以知天下。不【形:規;窺】於牖,以知天道。
《甲》本:不出於戶,以知天下。不【形:規;窺;據:《王》本】於牖,以知天道。
《甲》本:不出於戶,以知天下。不【形:規;窺;「規」字今為「窺」】於牖,以知天道。
《甲》本:不出於戶,以知天下。不【@規;窺@】於牖,以知天道。
《甲》本:不出於戶,以知天下。不【@規;窺;據:《王》本@】於牖,以知天道。
《甲》本:不出於戶,以知天下。不【@規;窺;「規」字今為「窺」@】於牖,以知天道。
Figure 45

Compatible ASCII syntax:

(@{orig}:{current}@)
(@{orig}:{current};{text}@)
(@{orig}:{current};{text};source:{source}@)
(@{orig}:{current};{text};source:{source};{author}@)
Figure 46
《甲》本:不出於戶,以知天下。不(@規:窺@)於牖,以知天道。
《甲》本:不出於戶,以知天下。不(@規:窺;source:《王》本@)於牖,以知天道。
《甲》本:不出於戶,以知天下。不(@規:窺;「規」字今為「窺」@)於牖,以知天道。
Figure 47

Command syntax:

variant:[{orig}:{current}]
variant:[{orig}:{current};{text}]
variant:[{orig}:{current};{text};source={source}]
variant:[{orig}:{current};{text};source={source},author={author}]
Figure 48
《甲》本:不出於戶,以知天下。不 variant:[規:窺] 於牖,以知天道。
《甲》本:不出於戶,以知天下。不 variant:[規:窺;source=《王》本] 於牖,以知天道。
《甲》本:不出於戶,以知天下。不 variant:[規:窺,「規」字今為「窺」] 於牖,以知天道。
Figure 49

In rendering Traditional Chinese, Japanese, Simplified Chinese text, the text in the current character variant element shall be rendered as:

  • with the parenthesis mark (horizontal: () with U+FF08/U+FF09, vertical: ︵︶ with U+FE35/U+FE36) containing the current character variant, with the original character variant in the text, and a footnote that explains the variant if text is provided.

    《甲》本:不出於戶,以知天下。不規(窺)^1^ 於牖,以知天道。

    ^1^ 「規」字今為「窺」。
    Figure 50

8.  Annotation

8.1.  Pronunciation

(音訓)

A pronunciation annotation is a note that provides the pronunciation of a character.

The following elements can be supplemented to a pronunciation annotation:

  • source of the pronunciation

  • author of the pronunciation

  • reason for the pronunciation

Native syntax:

【音:{character}:{pronunciation}】
【音:{character}:{pronunciation};{text}】
【音:{character}:{pronunciation};{text};據:{source}】
【~{character}:{pronunciation}~】
【~{character}:{pronunciation};{text}~】
【~{character}:{pronunciation};{text};據:{source}~】
Figure 51
‹子›‹列子›,居‹鄭›‹圃›【音:圃:補;《釋文》云,圃音補。】,四十年無人識者。
‹子›‹列子›,居‹鄭›‹圃›【音:圃:補;《釋文》云,圃音補。;source:《釋文》】,四十年無人識者。
‹子›‹列子›,居‹鄭›‹圃›【音:圃:補;《釋文》云,圃音補。】,四十年無人識者。
Figure 52

Compatible ASCII syntax:

(~{character};{pronunciation}~)
(~{character};{pronunciation};{text}~)
(~{character};{pronunciation};{text};source:{source}~)
Figure 53
‹子›‹列子›,居‹鄭›‹圃›(~圃:補~),四十年無人識者。
‹子›‹列子›,居‹鄭›‹圃›(~圃:補;《釋文》云,圃音補。~),四十年無人識者。
‹子›‹列子›,居‹鄭›‹圃›(~圃:補;《釋文》云,圃音補。;source:《釋文》~),四十年無人識者。
Figure 54

Command syntax:

pronunciation:[{pronunciation}]
pronunciation:[{pronunciation};{text}]
pronunciation:[{pronunciation};{text};source={source}]
Figure 55
‹子›‹列子›,居‹鄭›‹圃› pronunciation:[圃:補],四十年無人識者。
‹子›‹列子›,居‹鄭›‹圃› pronunciation:[圃:補;《釋文》云,圃音補。],四十年無人識者。
‹子›‹列子›,居‹鄭›‹圃› pronunciation:[圃:補;source=《釋文》],四十年無人識者。
Figure 56

In rendering Traditional Chinese, Japanese, Simplified Chinese text, the text in the pronunciation annotation element shall be rendered as:

  • as a footnote.

    ‹子›‹列子›,居‹鄭›‹圃›^1^,四十年無人識者。

    ^1^ 《釋文》云,圃音補。
    Figure 57

8.2.  Meaning

(釋義)

A meaning annotation is a note that provides the meaning of a character.

The native delimiter for marking meaning annotations is the question mark.

The following elements can be supplemented to a meaning annotation:

  • source of the meaning

  • author of the meaning

  • reason for the meaning

Native syntax:

【義:{character}:{meaning-text}】
【義:{character}:{meaning-text}】
【義:{character}:{meaning-text};據:{source}】
【?:{character}:{meaning-text}?】
【?{character}:{meaning-text}?】
【?{character}:{meaning-text};據:{source}?】
Figure 58
循之不得,故曰易也。【王重民曰:循當讀如揗。】【義:揗,摩也。】
循之不得,故曰易也。【王重民曰:循當讀如揗。】【義:揗,摩也。;source:《說文》】
循之不得,故曰易也。【王重民曰:循當讀如揗。】【義:揗,摩也。;source:《說文》;author:王重民】
循之不得,故曰易也。【王重民曰:循當讀如揗。】【?循,摩也。?】
循之不得,故曰易也。【王重民曰:循當讀如揗。】【?循,摩也。;source:《說文》?】
循之不得,故曰易也。【王重民曰:循當讀如揗。】【?循,摩也。;source:《說文》;author:王重民?】
Figure 59

Compatible ASCII syntax:

(?{character}:{meaning-text}?)
(?{character}:{meaning-text};source:{source}?)
Figure 60
循之不得,故曰易也。【王重民曰:循當讀如揗。】(?循:揗,摩也。?)
循之不得,故曰易也。【王重民曰:循當讀如揗。】(?循:揗,摩也。;source:《說文》?)
Figure 61

Command syntax:

meaning:[{meaning-text}]
meaning:[{meaning-text};source={source}]
Figure 62
循之不得,故曰易也。【王重民曰:循當讀如揗。】meaning:[循:揗,摩也。]
循之不得,故曰易也。【王重民曰:循當讀如揗。】meaning:[循:揗,摩也。;source=《說文》]
Figure 63

In rendering Traditional Chinese, Japanese, Simplified Chinese text, the text in the meaning annotation element shall be rendered as:

  • as an inline annotation; or

    循之不得,故曰易也。【王重民曰:循當讀如揗。】small:[揗:揗,摩也。]。
    循之不得,故曰易也。【王重民曰:循當讀如揗。】small:[揗:《說文》揗,摩也。]。
    Figure 64
  • as a footnote.

    循之不得,故曰易也。【王重民曰:循當讀如揗。】^1^。

    ^1^ 循:揗,摩也。

    循之不得,故曰易也。【王重民曰:循當讀如揗。】^2^。

    ^2^ 循:《說文》揗,摩也。
    Figure 65

8.3.  Commentary

(注)

8.3.1.  Plain

A plain commentary is title-less and author-less, assumed to be part of the current contribution.

The native delimiter for marking plain commentaries is the double square bracket.

The following elements can be supplemented to a plain commentary:

  • type of commentary

  • source of the commentary

  • author of the commentary

Native syntax:

【注:{commentary-text}】
【注:{commentary-text};據:{source}】
【注:{commentary-text};據:{source};{author}】
「『{commentary-text}』」
「『{commentary-text};據:{source}』」
「『{commentary-text};據:{source};{author}』」
Figure 66
‹⼦列⼦›曰:「天地無全功,聖⼈無全能,萬物無全⽤。【注:全猶備也。】
‹⼦列⼦›曰:「天地無全功,聖⼈無全能,萬物無全⽤。『「全猶備也。」』
Figure 67
[commentary]
====
This is a block-based commentary. It can contain multiple paragraphs and lines.

For example:

First paragraph of the commentary.

Second paragraph of the commentary.

* Bullet points can also be included
* Like this

[source]
----
Code blocks can be included as well.
----
====
Figure 68
[commentary,author="John Doe",year="2023"]
====
This is another block-based commentary with author and year.

It can also contain multiple paragraphs and lines.

For example:

First paragraph of the commentary.

Second paragraph of the commentary.

* Bullet points can also be included
* Like this

[source]
----
Code blocks can be included in the commentary as well.
----
====
Figure 69

EXAMPLE

This is a block-based commentary. It can contain multiple paragraphs and lines.

For example:

First paragraph of the commentary.

Second paragraph of the commentary.

  • Bullet points can also be included

  • Like this

Code blocks can be included as well.

《老子》曰「{C1}」:

《⽼⼦》曰「『C1』」:

「『‹徐靈府›曰:「且物之為貴,莫先於⼈,然不能定⼼援⽽朗照,裂愛網於通津,遂使性隨物遷,生與物化,至⼈哀之,故述⼤道之原,特標衆篇之⾸,俾尋原以階道,⽅觸事⽽即真,豈不有以者哉。」』」:「有物混成,先天地⽣「『』」,惟象無形,窈窈冥冥,寂寥淡漠,不聞其聲(四),吾强爲之名,字之曰道。

‹朱弁›曰:「夫本相待者有原,體相證者有歸,⼤道無原,至理無歸。今推之道原,反在乎物象之内,但復物之性,原其遠乎?」停誘:惟南⼦源道述:「原,本也。本道根真,包裹天地,以歷萬物,故⽇原道,因以題篇。」感定案:原,本也。本⽼⼦之道,圖發道的學說。⼀九七三年長沙⾺⼟姥漢墓出⼟的帛書佬汙⼄本卷前古供書潢帝泗繩,道源是其⼀。汶⼦道線篇名同造帝泗您,列爲⾸算。惟璃⼦⾸篇爲源道。[1:1⽼⼦,春秋時哲學家,道家的創始⼈。姓李名⽿,字脾。楚國苦縣(今阿南鹿⾢東)厲綿曲仁⼈。周守藏室之史。孔⼦曾向他問禮。著⼦,亦稱道德您,是道家的經典。以下爲⽂⼦引⽼汙之⾔。〕⽼⼦⼆⼗五章:「有物混成,先⼤地⽣,寂兮寥兮,獨⽴不改,胃⾏不始,可以烏天地母,吾不知其名,字之⽇道,强爲之名⼜⼤。」王禹注:「混然不可得⽽知,⽽萬物由之以成,故⽇混成也,不知其誰之⼦,故先天地⽜

8.3.2.  With authorship and year

A commentary with authorship and year is a commentary with the author’s name and the year of the commentary.

9.  Nesting

Multiple levels allowed.

TODO
Figure 70

ASCII equivalent

TODO
Figure 71

Invalid nesting examples

// INVALID - overlapping
TODO

// VALID - properly nested
TODO
Figure 72

10.  Delimiter escaping

10.1.  Principles

  1. Literal delimiters must be distinguishable from markup delimiters

  2. Escaping method must work consistently across ASCII and CJK syntaxes

  3. Escape sequences must not interfere with normal text rendering

10.2.  Escape methods

10.2.1.  ASCII delimiters

// Method 1: Backslash escape
\((book title\))    // Shows: ((book title))
\(#annotation\#)    // Shows: (#annotation#)

// Method 2: Entity reference
&#40;&#40;book title&#41;&#41;    // Shows: ((book title))

// Invalid - will be interpreted as markup
((book title))      // Interpreted as book title markup
Figure 73

10.2.2.  CJK delimiters

// Method 1: Backslash escape
\《論語\》          // Shows: 《論語》
\【注\】            // Shows: 【注】

// Method 2: Entity reference
&#x300A;論語&#x300B;  // Shows: 《論語》
&#x3010;注&#x3011;    // Shows: 【注】

// Invalid - will be interpreted as markup
《論語》            // Interpreted as book title markup
Figure 74

10.3.  Special cases

10.3.1.  Nested delimiters

// Escaping inner delimiters
《論語.\《序文\》》
((論語.\《序文\》))

// Alternative using entity references
《論語.&#x300A;序文&#x300B;》
((論語.&#x300A;序文&#x300B;))
Figure 75

10.3.2.  Multiple consecutive delimiters

// Multiple escaped delimiters
\《\《重複\》\》    // Shows: 《《重複》》

// Entity reference alternative
&#x300A;&#x300A;重複&#x300B;&#x300B;
Figure 76
  1. Backslash escapes MUST be processed before markup parsing

  2. Entity references MUST be decoded after markup parsing

  3. Escaped delimiters MUST NOT participate in markup matching

  4. Escape characters MUST be removed in final rendering

// Mixed normal and escaped delimiters
《道德經》云:「\【上德不德\】」
((道德經)) says: "【上德不德】"

// Complex nested case
【注:參見\《史記.\【孔子世家\】》】
(#note:see \《史記.\【孔子世家\】》#)

// Preserving brackets in quotations
「子曰:\『學而時習之\』」
"子曰:『學而時習之』"
Figure 77

Bibliography