Skip to content

自动修正中文、英文、代码混合排版中的全半角、空格等问题

License

Notifications You must be signed in to change notification settings

woct0rdho/typeset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

typeset

自动修正中文、英文、代码混合排版中的全半角、空格、中英文标点等问题

功能

  • 全角数字、英文字母、标点改为半角
  • 空格修正
    • 中文字符与中文字符、数字之间去除空格
    • 中文字符与英文字符
      • 汉字与英文字母之间去除空格
      • 汉字与英文标点的闭侧之间去除空格,开侧有且只有一个空格
      • 中文标点与英文字符之间去除空格
    • 英文字符与英文字符
      • 英文字母与英文字母之间空格保持原样
      • 英文字母与英文标点的闭侧之间去除空格,开侧有且只有一个空格
      • 英文标点的开侧与闭侧、闭侧与闭侧之间去除空格,开侧与开侧之间有且只有一个空格
    • 英文字符与数字
      • 数字与英文字母之间空格保持原样
      • 数字与英文标点的闭侧之间去除空格,开侧(除逗号、句号、冒号外)有且只有一个空格
    • 数字与数字之间空格保持原样
  • 中英文标点修正
    • 根据句子内容判断句子是中文还是英文
    • 中文句子中的英文标点改为中文标点,英文句子中的中文标点改为英文标点
  • 汉字与英文字母、数字之间插入次级空格,次级空格的形式可以由用户定义,如忽略、普通空格、1/4 em等
  • 标点风格修正
    • 中文句号统一为全角空心句号、全角实心句号或英文句号
    • 中文引号统一为弯引号、全角直角引号、英文直引号或 TeX 记号
    • 英文引号改为 TeX 记号

TODO

  • 根据语义识别引号,区分英文撇号与单引号
  • 识别URL与文件名,不修改其中的标点
  • 将一行分成多个句子
  • 根据语义判断句子是中文还是英文
  • 根据语义修改数字、英文字母、英文标点之间的空格
  • 根据语义修改专有名词的大小写
  • 简体/繁体中文转换
  • 日文排版

参考

https://github.com/sparanoid/chinese-copywriting-guidelines

https://github.com/ricoa/copywriting-correct

示例

https://github.com/woct0rdho/read-matrix 使用本项目排版

About

自动修正中文、英文、代码混合排版中的全半角、空格等问题

Topics

Resources

License

Stars

Watchers

Forks

Languages