A lightweight Python library for simulating Chinese handwriting
Project description
PyLf
A lightweight Python library for simulating Chinese handwriting
Tutorial | Examples | Release Notes | Contributing | Donation
Vision
Reveal the nature of Chinese handwriting and use it to implement beautiful, simple and easy-to-use interfaces.
Algorithm & Implementation
首先,在水平位置、竖直位置和字体大小三个自由度上,对每个字的整体做随机扰动。随后,在水平位置、竖直位置和旋转角度三个自由度上,对每个字的每个笔画做随机扰动。
目前,PyLf基于Pillow开发,并在内部使用multiprocessing做并行加速。
Installation
pip install pylf
Quick Start
from PIL import Image, ImageFont
from pylf import handwrite
if __name__ == '__main__':
template = {
"background": Image.new(mode="1", size=(2000, 2000), color="white"),
"margin": {"left": 150, "right": 150, "top": 200, "bottom": 200},
"line_spacing": 150,
"font_size": 100,
"font": ImageFont.truetype("path/to/my/font.ttf")
}
for image in handwrite("我能吞下玻璃而不伤身体。", template):
image.show()
对于简单的手写任务,您可以使用更易用的CLI工具。请尝试在终端中运行pylf --help。
更多信息请参阅Tutorial。
Features
| 特性 | 相关参数 |
|---|---|
| 设置背景 | background |
| 设置字体及其大小、颜色 | font, font_size, color |
| 设置页边距、行间距、字间距 | margin, line_spacing, word_spacing |
| 调节排版随机化的强弱 | font_size_sigma, line_spacing_sigma, word_spacing_sigma |
| 调节笔画随机扰动的强弱 | perturb_x_sigma, perturb_y_sigma, perturb_theta_sigma |
设置在行末不换行的字符集(如:。》)]) |
is_end_char_fn |
设置在排版时只占其宽度一半的字符集(如:,。!) |
is_half_char_fn |
| 并行加速 | worker |
| 周期性模板 | template2(详情:pylf.handwrite2) |
Gallery
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylf-3.3.1.tar.gz.
File metadata
- Download URL: pylf-3.3.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
315d69451894dcdec15b5f17485d4ce3ab7cd9f8d1af4602a1d04c7fb10ee20b
|
|
| MD5 |
28de931c905a5747814258e50211ea25
|
|
| BLAKE2b-256 |
7af0aadab0112d2dc869fd4f9c8567e74177d88b260bb3b0659d9cdbf7bdb4fc
|
File details
Details for the file pylf-3.3.1-py3-none-any.whl.
File metadata
- Download URL: pylf-3.3.1-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdd3a09b135be70569151ab002d15e15f56ebd759b4457a5c4a40b81e9336af4
|
|
| MD5 |
d44184808f450a0191ee5e66bc19ac8d
|
|
| BLAKE2b-256 |
df9d08ae1ce2093953b15a8495ed29692d30857e84e85ca50f234a6342cea5be
|