CJK Emphasis

Emphasis between CJK characters works out of the box — CommonMark's delimiter rules already allow it, and no ASCII spaces are needed:

これは**重要**です。
これは*強調*です。

Emphasis Against CJK Punctuation

What plain CommonMark rejects is a */_ run sitting directly against punctuation on its outer side. Its flanking rules read Unicode punctuation as a whole, so East Asian punctuation blocks a run the same way ASCII punctuation does:

A**強調。**B
中文**加粗,**测试

Both render as literal text in any spec-conformant engine. Latin prose rarely runs into it because a space usually separates the punctuation from the delimiter, but CJK sets punctuation directly against the words it follows, so it comes up constantly.

cjkEmphasis classifies East Asian punctuation as an ordinary character for that decision, which lets those runs pair:

import { oxContent } from "@ox-content/vite-plugin";

export default {
  plugins: [
    oxContent({
      cjkEmphasis: true,
    }),
  ],
};
Source Default cjkEmphasis: true
これは**重要**です。 重要 重要
A**強調。**B literal text 強調。
中文**加粗,**测试 literal text 加粗,
a**bold.**c literal text literal text (unchanged)

Only the fullwidth and CJK-specific punctuation blocks are reclassified: U+3000U+303F, the vertical and compatibility forms (U+FE10U+FE19, U+FE30U+FE4F), the small form variants (U+FE50U+FE6F), and fullwidth ASCII (U+FF01U+FF65, skipping the fullwidth digits and letters). Halfwidth ASCII punctuation is written the same way in every script, so enabling the option never changes how a Latin document parses.

The option relaxes the punctuation rule only. Whitespace still blocks a run, so A** 強調。 **B stays literal either way.

Conformance

This is a deliberate deviation from the specification, which is why it is opt-in: with the option off the parser renders every CommonMark 0.31.2 example per spec. See CommonMark Conformance.