update readme
This commit is contained in:
parent
f88b4173f7
commit
6efd1985d1
6
ekp.el
6
ekp.el
@ -142,9 +142,11 @@
|
|||||||
pure-word))
|
pure-word))
|
||||||
(num (length word-lst)))
|
(num (length word-lst)))
|
||||||
(when left-punct
|
(when left-punct
|
||||||
(setf (car word-lst) (concat left-punct (car word-lst))))
|
(setf (car word-lst) (concat left-punct
|
||||||
|
(car word-lst))))
|
||||||
(when right-punct
|
(when right-punct
|
||||||
(setf (car (last word-lst)) (concat (car (last word-lst))
|
(setf (car (last word-lst))
|
||||||
|
(concat (car (last word-lst))
|
||||||
right-punct)))
|
right-punct)))
|
||||||
(push word-lst new-boxes)
|
(push word-lst new-boxes)
|
||||||
(dotimes (i num)
|
(dotimes (i num)
|
||||||
|
|||||||
27
readme.md
27
readme.md
@ -1,27 +1,28 @@
|
|||||||
## 介绍
|
## Introduction
|
||||||
emcas-kp 实现了 knuth-plass 的排版算法,单其功能不局限于算法本身。原本的KP算法实现了对英文的排版,emacs-kp对其进行了进一步的拓展,实现了 CJK 语言与 latin 系语言的混合混合排版。
|
Emacs-kp implements the knuth-plass typesetting algorithm, but its capabilities extend beyond English typesetting. Through further optimization of the algorithm, it achieves hybrid typesetting for both CJK and Latin-based languages.
|
||||||
|
|
||||||
## 演示
|
## Demo
|
||||||
先来看一下排版效果的 demo:
|
First, let's look at a demo of the typesetting effect:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 局限
|
## Limitations
|
||||||
目前只支持 CJK 与任意一种拉丁系语言的混合排版,不支持多种拉丁系语言混合排版的场景。原因是无法精确判断单词属于哪种语言,从而对其进行 hyphen 断词。
|
Currently, it only supports hybrid typesetting between CJK and one Latin-based language. Mixed typesetting with multiple Latin-based languages is not supported. This limitation arises because the system cannot precisely determine which language a word belongs to in order to perform hyphenation.
|
||||||
|
|
||||||
## 用法
|
## Usage
|
||||||
|
|
||||||
### 配置项
|
### Configuration
|
||||||
`ekp-latin-lang` 用来设置文本中主要的拉丁系的语言,dictionary 下可以看到所有支持的语言。
|
|
||||||
|
|
||||||
### 核心函数
|
`ekp-latin-lang` is used to set the primary Latin-based language in the text. The default setting is "en_US". All supported languages can be found in the "dictionaries" directory. The language name must match the name following "hyph_" in the dictionary files. Test cases include examples of German and French typesetting. Other languages have not been tested extensively but should theoretically work; however, finer customization may be required.
|
||||||
|
|
||||||
提供了两个函数:
|
### Core Functions
|
||||||
|
|
||||||
|
Two functions are provided:
|
||||||
|
|
||||||
```(ekp-pixel-justify string line-pixel)```
|
```(ekp-pixel-justify string line-pixel)```
|
||||||
|
|
||||||
将文本 STRING 按照每行像素宽度为 LINE-PIXEL 排版,返回排版后的文本。
|
Formats the text STRING to fit a pixel width of LINE-PIXEL per line and returns the justified text.
|
||||||
|
|
||||||
```(ekp-pixel-range-justify string min-pixel max-pixel)```
|
```(ekp-pixel-range-justify string min-pixel max-pixel)```
|
||||||
|
|
||||||
在 MIN-PIXEL 到 MAX-PIXEL 的返回内寻找最优排版,返回一个 cons-cell,car 是排版后的文本,cdr 是最优排版效果的像素值。
|
Searches for optimal typesetting within the range of MIN-PIXEL to MAX-PIXEL. Returns a cons-cell where the car is the formatted text and the cdr is the pixel value achieving the best typesetting result.
|
||||||
27
readme_zh.md
Normal file
27
readme_zh.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
## 介绍
|
||||||
|
Emacs-kp 实现了 knuth-plass 排版算法,但其功能不局限于英文排版,我对算法的进一步优化,实现了 CJK 与 Latin 系语言的混合排版。
|
||||||
|
|
||||||
|
## 演示
|
||||||
|
先来看一下排版效果的 demo:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 局限
|
||||||
|
目前只支持 CJK 与任意一种拉丁系语言的混合排版,不支持多种拉丁系语言混合排版的场景。原因是无法精确判断单词属于哪种语言,从而对其进行 hyphen 断词。
|
||||||
|
|
||||||
|
## 用法
|
||||||
|
|
||||||
|
### 配置项
|
||||||
|
`ekp-latin-lang` 用来设置文本中主要的拉丁系语言,默认设置为 "en_US",dictionaries 下可以看到所有支持的语言,语言的名称也需要按照词典中 hyph_ 后面的名称来设置。测试用例中有德文和法文排版的例子,其他语言没有测试过,理论上应该没有问题,但不排除需要更为细节的调教。
|
||||||
|
|
||||||
|
### 核心函数
|
||||||
|
|
||||||
|
提供了两个函数:
|
||||||
|
|
||||||
|
```(ekp-pixel-justify string line-pixel)```
|
||||||
|
|
||||||
|
将文本 STRING 按照每行像素宽度为 LINE-PIXEL 排版,返回排版后的文本。
|
||||||
|
|
||||||
|
```(ekp-pixel-range-justify string min-pixel max-pixel)```
|
||||||
|
|
||||||
|
在 MIN-PIXEL 到 MAX-PIXEL 的返回内寻找最优排版,返回一个 cons-cell,car 是排版后的文本,cdr 是最优排版效果的像素值。
|
||||||
Loading…
Reference in New Issue
Block a user