Skip to content

charconvert 中英字符转换

选中内容后,在中文标点和英文标点之间互相转换。

使用

js
const options = {
    plugins: ['charconvert'],
    toolbar: 'charconvert',
}

菜单

点击工具栏按钮后弹出下拉菜单:

  • 中文转英文:把选区中的中文标点转换为英文标点
  • 英文转中文:把选区中的英文标点转换为中文标点

中文转英文

中文符号英文符号
,
.
;
:
?
!
(
)
[
]
<
>

引号特殊处理

中文转英文时,中文弯引号 “” / ‘’ 不转换,但会单独包裹字体:

html
<span style="font-family: 'Times New Roman', system-ui;" data-font-source="cn-en">“</span>

同时,选区中的直引号会被先转成中文弯引号,再包裹字体:

原符号转换结果
"(按开闭状态)
' / (不判断开闭,全部转为右单引号)
(按开闭状态)

跳过区域

公式(mjx-containerscriptstyle 等)和 ruby 标签内的内容不会进行标点转换,也不会被设置字体。

英文转中文

英文符号中文符号
,
.
;
:
?
!
(
)
[
]
<
>

引号特殊处理

英文转中文时,直引号会按开闭状态转换为中文弯引号:

原符号转换结果
" / 交替
' / 交替

同时会移除之前中文转英文时生成的 data-font-source="cn-en" 字体包裹 <span>,把引号恢复为普通文本节点。

注意事项

  • 转换前需要先选中目标内容,未选中时菜单项无效。
  • 公式和 ruby 区域在标点转换和设置字体时都会被跳过。
  • 英文转中文时,如果选区位于 data-font-source="cn-en" 的 span 内部,该 span 也会被移除。