pinyinlib.el icon indicating copy to clipboard operation
pinyinlib.el copied to clipboard

Elisp library for converting first letter of Pinyin to Simplified/Traditional Chinese characters

#+TITLE: pinyinlib.el [[https://melpa.org/#/pinyinlib][file:https://melpa.org/packages/pinyinlib-badge.svg]] [[https://stable.melpa.org/#/pinyinlib][file:https://stable.melpa.org/packages/pinyinlib-badge.svg]]

Library for converting first letter of Pinyin to Simplified/Traditional Chinese characters.

  • Functions ** =pinyinlib-build-regexp-char= =pinyinlib-build-regexp-char= converts a letter to a regular expression containing all the Chinese characters whose pinyins start with the letter. It accepts four parameters: : char &optional no-punc-p tranditional-p only-chinese-p

    The first parameter =char= is the letter to be converted. The latter three parameters are optional.

    • If =no-punc-p= is =t=: it will not convert English punctuations to Chinese punctuations.

    • If =traditional-p= is =t=: traditional Chinese characters are used instead of simplified Chinese characters.

    • If =only-chinese-p= is =t=: the resulting regular expression doesn't contain the English letter =char=.

    When converting English punctuactions to Chinese/English punctuations, it uses the following table: | English Punctuation | Chinese & English Punctuations | |---------------------+--------------------------------| | . | 。. | | , | ,, | | ? | ?? | | : | :: | | ! | !! | | ; | ;; | | \ | 、\ | | ( | (( | | ) | )) | | < | 《< | | > | 》> | | ~ | ~~ | | ' | ‘’「」' | | " | “”『』" | | * | ×* | | $ | ¥$ |

** =pinyinlib-build-regexp-string=

It is same as =pinyinlib-build-regexp-char=, except that its first parameter is a string so that it can convert a sequence of letters to a regular expression.

  • Packages that Use This Library

    • [[https://github.com/cute-jumper/ace-pinyin][ace-pinyin]]
    • [[https://github.com/cute-jumper/evil-find-char-pinyin][evil-find-char-pinyin]]
    • [[https://github.com/redguardtoo/find-by-pinyin-dired][find-by-pinyin-dired]]
    • [[https://github.com/xuchunyang/pinyin-search.el][pinyin-search]]
  • Acknowledgment

    • The ASCII char to Chinese character table(=pinyinlib--simplified-char-table= in code) is from https://github.com/redguardtoo/find-by-pinyin-dired.
    • @erstern adds the table for traditional Chinese characters.
  • Contribute Contributions are always welcome. If you want to add some common pinyin related functions that might be useful for other packages, please send me a PR.