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-container、script、style 等)和 ruby 标签内的内容不会进行标点转换,也不会被设置字体。

英文转中文 ​

英文符号中文符号
,,
.。
;;
::
??
!!
((
))
[【
]】
<《
>》

引号特殊处理 ​

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

原符号转换结果
"“ / ” 交替
'‘ / ’ 交替

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

注意事项 ​

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