Quiero escribir un editor de texto para un idioma indio nativo. ¿Cómo puedo comenzar?

Todos los editores que pueden editar y mostrar Unicode pueden trabajar con idiomas indios.
Hay algunos matices en términos de movimiento del cursor debido a medias letras, etc.

El mayor problema es la asignación de teclado, pero hay algunas asignaciones predefinidas desarrolladas para usar teclados Hindi y similares.

Si desea aprender, continúe y cree un editor, solo admita Unicode y descubra la lógica de cómo se mueve el cursor. Recuerde que:

  • En Unicode, cada unidad de texto puede tener cualquier número de bytes, por lo que la manipulación de cadenas es muy compleja.
  • En los idiomas indios, la división de caracteres es compleja: hay matras y medias letras
  • Hay letras combinadas dobles y triples en muchos idiomas indios, estas no pueden representarse con glifos de fuente porque la mayoría de las fuentes no pueden proporcionar todas las combinaciones posibles, por lo que debe usar símbolos de halantha para formar medias letras.
  • La noción de cursor o cursor funciona bien con el inglés. En los idiomas indios, no puede ser tan simple: si tiene la palabra “अर्थ” (Artha), no hay un orden visual horizontal entre la “R” y la “Th”: ¿dónde colocaría un cursor? La única solución que se me ocurre es renderizar el subglifo anterior y actual en diferentes colores o con parpadeo, para que sepa qué se sobrescribe o está listo para retroceder.

Estudie un editor de texto de código abierto (Notepad ++, por ejemplo), como sé, utiliza el componente de editor Scintilla y SciTE. Por lo tanto, cualquier idioma es compatible de fábrica.