GithubHelp home page GithubHelp logo

woct0rdho / typeset Goto Github PK

View Code? Open in Web Editor NEW
93.0 4.0 11.0 37 KB

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

License: Other

Python 100.00%
typesetting chinese sanitizer formatter beautifier

typeset's Introduction

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 使用本项目排版

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.