If we want a proper solution, one that remains true to the spirit of Markdown, we have to return its basic principle:
The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.
This implies that, from the reader’s perspective, styling of the plain text functions analogously to the corresponding styling of the rich text. Thus while a bold font weight is a good way to highlight words in rich text, wrapping text segments with **
has a similar effect in plain text:
I met **bold** error, may caused by *the usage of
Chinese punctuation is different from English.* Here
are some examples:
But this only works well for for languages like English where words are white-space delimited. It does not work for languages like Chinese for two reasons:
- Words or phrases so marked do no stand out in the plain text:
水温适度。水的温度与室温相同,*可以*有效的减少对**胃肠道**的刺 激,白开水具有生物活性,可以透过**细胞膜**促进人体的新陈代谢。
- We cannot rely on space characters to help determine whether the markup is starting or ending a highlighted segment.
We can address #1 by choosing alternatives to the asterisk *
. Unlike English, for CJK it is a disadvantage not an advantage to limit markup symbols to ASCII. While I would defer to native CJK readers on the actual symbol selection (What do CJK writers naturally use in text messages today?), here is the same using alternate emphasis
and strong
markup symbols:
水温适度。水的温度与室温相同,◆可以◆有效的减少对◼︎胃肠道◼︎的刺
激,白开水具有生物活性,可以透过◼︎细胞膜◼︎促进人体的新陈代谢。
We can solve #2 by choosing different symbols for opening and closing. So perhaps:
水温适度。水的温度与室温相同,┏可以┓有效的减少对┣胃肠道┫的刺
激,白开水具有生物活性,可以透过┣细胞膜┫促进人体的新陈代谢。
notes
- The new markup symbols would be plain text alternatives to
*
and_
. They would still be rendered in bold or italics or whateverstrong
andemphasis
are mapped to in the output format (e.g. HTML). - Having separate by visually symmetrical open and close markup symbols eliminates ambiguities that even exist in space delimited languages. Such alternate markup symbols would have universal applicability.
- Symbols could be selected that gracefully degrade under legacy Markdown rendering – for example CJK readers might feel that the above alternate symbols appearing in the rendered rich text still serves the same purpose as, even if not as ideal as, italic/bold rendering.