Estoy buscando un proyecto de ejemplo que realice la separación silábica del texto en C#. Idealmente, esto se derivaría del algoritmo de división de palabras de TeX, o similar. Actualmente estoy interesado en inglés, aunque es posible que se requieran otros idiomas en el futuro. ¿Alguien ha visto algo así? background Estoy planeando incluir esto en un proyecto MonoTouch utilizando CoreText.Hyphenation en C#
Respuesta
Obviamente, los algoritmos de Donald Knuth son excelentes. Aunque no hay una implementación de C# disponible, ¿ha considerado convertir otra implementación en C#? (Por ejemplo, podría convertir la implementación de Java, que es bastante cercana a C#.)
Otra opción es utilizar una implementación más simple que se puede encontrar en this answer here on StackOverflow.
Encontré una implementación de C# del algoritmo de separación de palabras Knuth-Liang en https://github.com/alkozko/NHyphenator y parece funcionar bien.
Pero en la actualidad hay dos inconvenientes:
- que no puede cargar archivos TeX patrón de separación de palabras fuera de la caja (sin embargo, la adición de soporte para ellos parece trivial).
- No está claro qué tipo de licencia se aplica al código fuente.
Si pudiera proporcionar algunos consejos sobre cómo convertir archivos como este http: // mirror.ctan.org/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-el-monoton.tex en el formato que utiliza NHyphenator, para las personas que no tienen idea de cuál es el contenido del archivo de cualquiera de los dos significa, sería genial. Me encuentro queriendo usar esta biblioteca también y me temo que si empiezo a leer los detalles del algoritmo para entender el contenido del archivo, probablemente termine reimplementándolo yo mismo ... :( – NoOne
Después de mirar dentro de ambos los formatos de archivo, yo -con seguridad- especularía que solo tiene que copiar el contenido de '\ hyphenation {}' al archivo 'hyph - ***. hyp.txt' y el contenido de' \ patterns {} ' al archivo 'hyph - ***. pat.txt'. Hm ... No hay mucho trabajo para construir un analizador para eso ... – NoOne
- 1. WebKit Hyphenation
- 2. instalar el idioma en texlive - hyphenation
- 3. Derivados en C/C++?
- 4. C++ union en C#
- 5. C/C++ en Android?
- 6. Analizadores léxicos basados en C/C++/C#
- 7. C-string definición en C/C++
- 8. main() en C, C++, Java, C#
- 9. matlab en C C++ y C++ en matlab
- 10. Biblioteca Eye-Tracking en C#, C/C++ u Objective-C
- 11. Funciones recursivas en C/C++
- 12. usando scanf en C/C++
- 13. C++ CString equivalente en C#
- 14. bibliotecas quaternion en C/C++
- 15. C# y VB en C#
- 16. Segmentación dinámica en C/C++
- 17. estructura estática en C/C++
- 18. (nil) puntero en C/C++
- 19. (c = getchar())! = EOF en C#?
- 20. C ¿Números complejos en C++?
- 21. compilación C++ aplicación en C#
- 22. ¿Qué significa^= en c/C++?
- 23. #include encabezados en C/C++
- 24. Convertir C++ struct en C#
- 25. Diferencia en volátiles en C# y C
- 26. Globo en C++/C, en Windows
- 27. "este" puntero en C (no en C++)
- 28. en C#
- 29. "escuchar" cambios en archivos en C/C++ (en Windows)
- 30. Sound Synthesis Framework en C/C++/Objective-C?
Gracias, Jason. Realmente estaba esperando que alguien por ahí ya haya convertido la versión de TeX a C#. Puede que tenga que ir por la ruta de convertirla yo mismo. ¿Sabes dónde puedo encontrar una versión Java descendente para empezar? – Ethan
Para una implementación de Java del trabajo de Liang, puede echar un vistazo a TeXHyphenator-J: http://www.davidashen.net/texhyphj.html –