.webp directamente desde el archivo de texto para imprimirjson fácil de usar y multiplataforma y compatible con En primer lugar, debe descargar handwriter.py o copiar su código fuente para su IDE. Si desea utilizar la configuración personalizada o los preajustes de fuentes, simplemente clone Handwriter directamente:
gitclone https://github.com/Unbinilium/Handwriter.git
En segundo lugar, instale dependencias que requiriera Handwriter-Python3 :
pip3 install uuid pillow twine setuptools wheel tox pytest handright
En tercer lugar, ingrese a Handwriter ruta y ejecute handwriter.py por python3 handwriter.py , siga los consejos que se muestran en la consola. Genera el archivo de salida .webp utilizando la configuración predeterminada.
Por último, pero no menos importante, para evitar algunos errores raros, asegurándose de que el nombre de su archivo de texto sea *.txt y tanto el nombre como el texto están codificados con UTF-8 . Para las fuentes personalizadas, utilice el archivo TrueTypeFont que extensión es .ttf , y recomiendo usar fuentes de escritura a mano de forma predeterminada. REMMBER OUTFILEPATH es una ruta de directorio pero no una ruta de archivo, el UUID genera automáticamente el nombre OutFileName .
Para una mayor personalización, edite el archivo de configuración Handwriter-Python3 llamado handwriter.json manualmente, el ejemplo predeterminado está aquí:
{
"text_file_path" : " ~/*.txt " ,
"font_file_path" : " ~/*.ttf " ,
"output_path" : " ~/ " ,
"background_color" : " white " ,
"background_width" : 2480 ,
"background_hight" : 3500 ,
"font_color" : " black " ,
"font_size" : 80 ,
"font_size_sigma" : 2 ,
"perturb_x_sigma" : 2 ,
"perturb_y_sigma" : 2 ,
"perturb_theta_sigma" : 0.05 ,
"line_spacing" : 80 ,
"line_spacing_sigma" : 3 ,
"word_spacing" : -30 ,
"word_spacing_sigma" : 3 ,
"left_margin" : 150 ,
"top_margin" : 150 ,
"right_margin" : 150 ,
"bottom_margin" : 150 ,
"end_chars" : " ,。》?;:’”】}、!%),.>?;:]}!%)′″℃℉ "
} Todo el *_path debe ser especializado. Luego ejecute handwriter.py con la ruta del archivo de configuración de argumentos por python3 handwriter.py <configuration file path> .
La definición de parámetros de configuración de tipo básico está aquí. Para fortalecer la nitidez y la claridad del texto, siempre se recomienda el uso de un tamaño de papel grande ( background_width , background_hight ) y Big font_size . Observe el parámetro line_spacing siempre debe ser más grande que font_size . Si consideras que la palabra espaciado es demasiado grande, configúrelo en un número negativo.
- ______________________________________________________
^ | Paper ^ |
| | word_spacing | top_margin |
b | left_margin |< --- >| v |
a | < --- > |-----------------------------| - |
c | - ------------ ------------ ^ |
k | ^ | ******** | | ******** | | line_ |
g | font_ | | ** | | ** ** | | |
r | size | | ** | | ** ** | | spacing |
o | v | ** | | ******** | v |
u | - ------------ ------------ - |
n | |-----------------------------|< -------- > |
d | ------------ right_margin |
| | | ******** | |
h | | *** ** | |
i | | ** | |
g | | ** char | |
h | ------------ |
t | ^ |
| | | bottom_margin |
v | v |
- |____________________________________________________ |
|<------- background_width -------> | Normalmente, el parámetro font_color se establece en black y background_color se establece en white , utilizando el perfil de color RGBA y no dude en establecer el color especializando el nombre de color. Además, el background_color podría ser una ruta del archivo de imagen , en este caso, background_color representa una ruta de archivo de imagen de fondo , intente esto si desea usar una imagen de fondo personalizada.
El parámetro *_sigma significa un rango perturbador aleatorio y siempre está determinado por la fuente amable de la escritura que ha utilizado, siempre cámbielo a la que coincide perfectamente con su fuente personalizada manualmente. Por ejemplo, "font_size_sigma":2 significa alterar el tamaño del carácter al azar en el rango font_size ± 2 . Del mismo modo, "perturb_theta_sigma":0.05 significa perturbar aleatoriamente el radio de rotación de la carrera de caracteres en el rango horizontal ± 0.05 . Para evitar un personaje especial como ,。》?;:'”】}、!%),.>?;:]}!%)′″℃℉ aparecer en la sangría de la línea, que no sigue generalmente las convenciones de escritura que se ve extrañas, se requieren parámetros de especialización end_chars .
En primer lugar, debe descargar handwriter.cpp o copiar su código fuente para su IDE. Si desea usar los presets de fuentes predeterminados, solo clone Handwriter directamente:
gitclone https://github.com/Unbinilium/Handwriter.git
En segundo lugar, ejecute handwriter.cpp con argumentos configurados , y los argumentos deben seguir el ejemplo de la plantilla a continuación:
handwriter.cpp <TEXT PATH> <OUT PUT PATH> <FONT(1) PATH> <FONT(2) PATH> ... <FONT(n) PATH>
Cada argumento está dividido por espacio Y siga la secuencia de ejemplo, el archivo de texto en <TEXT PATH> no podría estar vacío y <OUT PUT PATH> debe contener el nombre del archivo con la extensión del archivo .html , el número de ruta de fuentes está limitado por el tamaño int . Tenga cuidado al escritor a mano que requiere al menos 1 ruta de fuente.
Por ejemplo, podemos usar 4 fuentes personalizadas para simular la escritura a mano desde /usr/local/example.txt :
handwriter.cpp "/handwriter-master/example.txt" "/handwriter-master/example.html" "/handwriter-master/font/font1.ttf" "/handwriter-master/font/font2.otf" "/handwriter-master/font/font3.woff" "https://fonts.gstatic.com/example.woff2"
Simplemente convierta example.txt a example.html con estilo de fuente amable de la escritura a mano, por lo que es conveniente usar fuentes de diferentes tipos que solo determinan su navegador. Además, el formato de ruta es flexible, la ruta local o la URL están bien. De lo contrario, recomiendo usar fuentes amables con la escritura a mano de forma predeterminada. Para una mayor personalización como el título de HTML , el tamaño de la fuente y el espacio de margen , edite el #define en handwriter.cpp :
# define HTML_TITLE " Handwriter "
# define FONT_SIZE_MIN 21
# define FONT_SIZE_MAX 25
# define FONT_SIZE_PRECISON 0.1
# define MARGIN_MIN 5.0
# define MARGIN_MAX 5.5
# define MARGIN_PRECISION 0.01Por último, haga doble clic para abrir el HTML generado en su navegador e imprima con su impresora, ¡la escritura falsa a mano!
Actualmente, Handwriter-CPP es solo una idea muy simple y en un nivel muy bajo de finalización, en realidad con un algoritmo muy torpe. Para quien, como su maestro, puede ver a través de su truco fácilmente.
Para una generación más realmente de escritura a mano, se requieren más grados de transformación de libertad, como la posición horizontal, la posición vertical y el tamaño de la fuente. Y la totalidad de cada palabra debe perturbarse al azar, incluido su ángulo de rotación de carrera. También aleatorio pero no temporalmente aleatorio, algoritmo para la presión de la pluma, se requiere velocidad de movimiento NIT, etc. Y es mejor usar el brazo mecánico para simular la escritura a mano en lugar de la impresora.
Escribí este programa solo para divertirme y aprender personajes codifica el principio más profundo al practicar. Obviamente para hacer esto perfecto, usar C ++ y HTML no es una buena idea, pruebe Handwriter-Python3 .
Escritor a mano escrito por Unbinilium. Todos los presets de fuentes son de Internet, algunas fuentes chinas de Hanyi.