Pues a mi me parece interesante la idéa, creo que bastaría con entender las excepciones, solo tenemos 21 consonantes y 21x21 son 441 combinaciones... ok si que son muchas
Consonantes (sin contar ñ)
BCDFGHJKLMNPQRSTVWXYZ
Tras realizar pruebas con todas las consonantes descubrí que todas siguen el mismo patrón, hay 3 tipos de consonantes, algunas mas fuertes y otras mas débiles, ademas de algunas excepciones, en definitiva las reglas deberían ser:
- Una palabra empezada en una o mas consonantes no se separan nunca (TRA-CCION)
- Una palabra que termina en una o mas consonantes no se separan nunca (HONG KONG)
Si contine 2 o mas consonantes y no esta al inicio o al final de la palabra entonces se emplean estas reglas:
hay 3 niveles de consonantes que llamare Fuertes, medias o débiles
Solo se mantienen juntas las uniones de consonantes fuerte-media en ese orden
Fuertes(3): BCDFGJKPQTVX
Medias(2): HLRSWYZ
Debiles(1): MN (se separan siempre)
Excepción: si la primera es H se separan siempre (AH-BA)
Ejemplos:
MO
STRAR: ST Media con una superior se separan MOS-
TRAR (TR Fuerte con media no se separan)
FI
RMA: RM la segunda es débil se separan FIR-MA
TE
XTO: XT ambas son fuertes, se separan. TEX-TO
CA
BLE: BL Superior con media no se separan
entonces en programación solo quedaría poner que si hay don consonantes juntas obtener el nivel de ambas, si la primera es fuerte(3) y la segunda es media(2) no separar la silaba, todas las demás posibilidades si se separan.
Espero que alguien se anime a hacer la función XD