scriptconv 0.0.4a19__tar.gz → 0.0.4a21__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. {scriptconv-0.0.4a19/scriptconv.egg-info → scriptconv-0.0.4a21}/PKG-INFO +3 -2
  2. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/pyproject.toml +2 -2
  3. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/diacritics.py +85 -9
  4. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/__init__.py +2 -0
  5. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/base.py +15 -0
  6. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/mul.py +13 -0
  7. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/version.py +1 -1
  8. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21/scriptconv.egg-info}/PKG-INFO +3 -2
  9. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv.egg-info/requires.txt +2 -1
  10. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_diacritics.py +117 -1
  11. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_phonemizers_base.py +43 -0
  12. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/LICENSE +0 -0
  13. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/README.md +0 -0
  14. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/requirements.txt +0 -0
  15. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/__init__.py +0 -0
  16. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/__main__.py +0 -0
  17. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/cangjie.py +0 -0
  18. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/conventions.py +0 -0
  19. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/data/__init__.py +0 -0
  20. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/data/cangjie5_tc.tsv.gz +0 -0
  21. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/graph.py +0 -0
  22. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/notation.py +0 -0
  23. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/__init__.py +0 -0
  24. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/bw2ipa.py +0 -0
  25. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/hangul2ipa.py +0 -0
  26. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/aspiration.csv +0 -0
  27. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/assimilation.csv +0 -0
  28. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/double_coda.csv +0 -0
  29. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/hanja.tsv +0 -0
  30. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/ipa.csv +0 -0
  31. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/neutralization.csv +0 -0
  32. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/tensification.csv +0 -0
  33. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/ko_tables/yale.csv +0 -0
  34. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/__init__.py +0 -0
  35. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/codeswitch.py +0 -0
  36. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/diacritize.py +0 -0
  37. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/dialectal.py +0 -0
  38. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/english_g2p.py +0 -0
  39. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/espeak.py +0 -0
  40. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/frontend.py +0 -0
  41. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/levantine_g2p.py +0 -0
  42. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/normalize.py +0 -0
  43. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/shami/phoneme_inventory.py +0 -0
  44. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/vosk_g2p.py +0 -0
  45. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_thirdparty/zh_num.py +0 -0
  46. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/__init__.py +0 -0
  47. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/DATA_LICENSE.md +0 -0
  48. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/LICENSE.md +0 -0
  49. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/__init__.py +0 -0
  50. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/cli.py +0 -0
  51. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/data/registry.json +0 -0
  52. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/g2p.py +0 -0
  53. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aar.json +0 -0
  54. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/abi.json +0 -0
  55. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acd.json +0 -0
  56. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ach.json +0 -0
  57. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acz.json +0 -0
  58. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ada.json +0 -0
  59. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ade.json +0 -0
  60. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/adj.json +0 -0
  61. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aeb.json +0 -0
  62. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ael.json +0 -0
  63. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/afr.json +0 -0
  64. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ags.json +0 -0
  65. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aha.json +0 -0
  66. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aiw.json +0 -0
  67. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ajg.json +0 -0
  68. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/akp.json +0 -0
  69. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aks.json +0 -0
  70. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aku.json +0 -0
  71. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/alz.json +0 -0
  72. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amb.json +0 -0
  73. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amf.json +0 -0
  74. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amh.json +0 -0
  75. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/anc.json +0 -0
  76. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ank.json +0 -0
  77. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ann.json +0 -0
  78. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/any.json +0 -0
  79. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/apd.json +0 -0
  80. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ara.json +0 -0
  81. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arb.json +0 -0
  82. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ary.json +0 -0
  83. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arz.json +0 -0
  84. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ato.json +0 -0
  85. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avi.json +0 -0
  86. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avn.json +0 -0
  87. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avu.json +0 -0
  88. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ayb.json +0 -0
  89. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/azo.json +0 -0
  90. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bam.json +0 -0
  91. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bas.json +0 -0
  92. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bav.json +0 -0
  93. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bax.json +0 -0
  94. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bba.json +0 -0
  95. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bbq.json +0 -0
  96. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bci.json +0 -0
  97. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bcq.json +0 -0
  98. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bde.json +0 -0
  99. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdj.json +0 -0
  100. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdu.json +0 -0
  101. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bec.json +0 -0
  102. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/beh.json +0 -0
  103. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bej.json +0 -0
  104. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bem.json +0 -0
  105. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bex.json +0 -0
  106. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfa.json +0 -0
  107. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfj.json +0 -0
  108. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfm.json +0 -0
  109. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bhy.json +0 -0
  110. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bib.json +0 -0
  111. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bim.json +0 -0
  112. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bin.json +0 -0
  113. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjo.json +0 -0
  114. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjt.json +0 -0
  115. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkc.json +0 -0
  116. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkm.json +0 -0
  117. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bky.json +0 -0
  118. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ble.json +0 -0
  119. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/blm.json +0 -0
  120. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bng.json +0 -0
  121. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bni.json +0 -0
  122. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bol.json +0 -0
  123. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bom.json +0 -0
  124. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bot.json +0 -0
  125. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boy.json +0 -0
  126. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boz.json +0 -0
  127. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqj.json +0 -0
  128. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqp.json +0 -0
  129. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqx.json +0 -0
  130. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsc.json +0 -0
  131. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsq.json +0 -0
  132. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buc.json +0 -0
  133. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bud.json +0 -0
  134. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buf.json +0 -0
  135. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bum.json +0 -0
  136. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bva.json +0 -0
  137. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bvm.json +0 -0
  138. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bwj.json +0 -0
  139. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bxk.json +0 -0
  140. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byn.json +0 -0
  141. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byv.json +0 -0
  142. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bza.json +0 -0
  143. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cgg.json +0 -0
  144. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cjk.json +0 -0
  145. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cko.json +0 -0
  146. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cme.json +0 -0
  147. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cop.json +0 -0
  148. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daa.json +0 -0
  149. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daf.json +0 -0
  150. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dag.json +0 -0
  151. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dbq.json +0 -0
  152. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dec.json +0 -0
  153. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dgd.json +0 -0
  154. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/did.json +0 -0
  155. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/din.json +0 -0
  156. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dmf.json +0 -0
  157. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dnj.json +0 -0
  158. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin.json +0 -0
  159. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin2.json +0 -0
  160. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dow.json +0 -0
  161. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dsh.json +0 -0
  162. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dua.json +0 -0
  163. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dug.json +0 -0
  164. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyo.json +0 -0
  165. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyu.json +0 -0
  166. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dzd.json +0 -0
  167. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebo.json +0 -0
  168. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebr.json +0 -0
  169. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/efi.json +0 -0
  170. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ell.json +0 -0
  171. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ema.json +0 -0
  172. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/emk.json +0 -0
  173. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eng.json +0 -0
  174. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/enn.json +0 -0
  175. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/etn.json +0 -0
  176. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eto.json +0 -0
  177. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewe.json +0 -0
  178. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewo.json +0 -0
  179. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fak.json +0 -0
  180. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fat.json +0 -0
  181. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ffm.json +0 -0
  182. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fia.json +0 -0
  183. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/flr.json +0 -0
  184. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fmp.json +0 -0
  185. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fng.json +0 -0
  186. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fod.json +0 -0
  187. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fon.json +0 -0
  188. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fuc.json +0 -0
  189. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fue.json +0 -0
  190. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gaa.json +0 -0
  191. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gej.json +0 -0
  192. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gez.json +0 -0
  193. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gfe.json +0 -0
  194. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gha.json +0 -0
  195. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gho.json +0 -0
  196. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gjn.json +0 -0
  197. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gng.json +0 -0
  198. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/god.json +0 -0
  199. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gog.json +0 -0
  200. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gou.json +0 -0
  201. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grb.json +0 -0
  202. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grr.json +0 -0
  203. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gud.json +0 -0
  204. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guk.json +0 -0
  205. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gur.json +0 -0
  206. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gux.json +0 -0
  207. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guz.json +0 -0
  208. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwa.json +0 -0
  209. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwd.json +0 -0
  210. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwr.json +0 -0
  211. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gxx.json +0 -0
  212. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hag.json +0 -0
  213. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/har.json +0 -0
  214. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-niger.json +0 -0
  215. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-nigeria.json +0 -0
  216. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hay.json +0 -0
  217. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hdy.json +0 -0
  218. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hts.json +0 -0
  219. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ibo.json +0 -0
  220. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igb.json +0 -0
  221. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ige.json +0 -0
  222. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igl.json +0 -0
  223. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igo.json +0 -0
  224. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ikw.json +0 -0
  225. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/irk.json +0 -0
  226. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/iso.json +0 -0
  227. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/jib.json +0 -0
  228. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kab.json +0 -0
  229. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbo.json +0 -0
  230. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbp.json +0 -0
  231. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbr.json +0 -0
  232. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kcn.json +0 -0
  233. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kde.json +0 -0
  234. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdh.json +0 -0
  235. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdj.json +0 -0
  236. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdn.json +0 -0
  237. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdx.json +0 -0
  238. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kea.json +0 -0
  239. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kec.json +0 -0
  240. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ker.json +0 -0
  241. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khq.json +0 -0
  242. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khy.json +0 -0
  243. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kik.json +0 -0
  244. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kin.json +0 -0
  245. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kiz.json +0 -0
  246. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kmb.json +0 -0
  247. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knc.json +0 -0
  248. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knf.json +0 -0
  249. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/koo.json +0 -0
  250. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kpe.json +0 -0
  251. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kqs.json +0 -0
  252. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/krb.json +0 -0
  253. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kri.json +0 -0
  254. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ksb.json +0 -0
  255. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ktz.json +0 -0
  256. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kuj.json +0 -0
  257. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kus.json +0 -0
  258. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lad.json +0 -0
  259. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lai.json +0 -0
  260. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lch.json +0 -0
  261. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ldd.json +0 -0
  262. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgg.json +0 -0
  263. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgq.json +0 -0
  264. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lig.json +0 -0
  265. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lin.json +0 -0
  266. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lky.json +0 -0
  267. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lln.json +0 -0
  268. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lma.json +0 -0
  269. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmd.json +0 -0
  270. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmp.json +0 -0
  271. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lns.json +0 -0
  272. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/loi.json +0 -0
  273. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lok.json +0 -0
  274. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lol.json +0 -0
  275. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lot.json +0 -0
  276. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lpx.json +0 -0
  277. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lub.json +0 -0
  278. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luc.json +0 -0
  279. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lue.json +0 -0
  280. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lug.json +0 -0
  281. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lul.json +0 -0
  282. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lun.json +0 -0
  283. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luw.json +0 -0
  284. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mas.json +0 -0
  285. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/maw.json +0 -0
  286. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mck.json +0 -0
  287. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcp.json +0 -0
  288. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcu.json +0 -0
  289. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mdj.json +0 -0
  290. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mev.json +0 -0
  291. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfb.json +0 -0
  292. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfe.json +0 -0
  293. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfi.json +0 -0
  294. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfq.json +0 -0
  295. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgc.json +0 -0
  296. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgd.json +0 -0
  297. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgh.json +0 -0
  298. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mhi.json +0 -0
  299. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkf.json +0 -0
  300. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkw.json +0 -0
  301. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlg.json +0 -0
  302. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlw.json +0 -0
  303. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmo.json +0 -0
  304. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmy.json +0 -0
  305. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnf.json +0 -0
  306. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnk.json +0 -0
  307. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mos.json +0 -0
  308. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mpg.json +0 -0
  309. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mqu.json +0 -0
  310. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mse.json +0 -0
  311. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mur.json +0 -0
  312. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mwe.json +0 -0
  313. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myf.json +0 -0
  314. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myk.json +0 -0
  315. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myo.json +0 -0
  316. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myx.json +0 -0
  317. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mzk.json +0 -0
  318. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/naw.json +0 -0
  319. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nba.json +0 -0
  320. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ncu.json +0 -0
  321. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndb.json +0 -0
  322. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndo.json +0 -0
  323. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ney.json +0 -0
  324. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nfr.json +0 -0
  325. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nga.json +0 -0
  326. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire.json +0 -0
  327. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire2.json +0 -0
  328. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngh.json +0 -0
  329. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngi.json +0 -0
  330. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhb.json +0 -0
  331. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhu.json +0 -0
  332. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhw.json +0 -0
  333. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nko.json +0 -0
  334. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmn.json +0 -0
  335. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmq.json +0 -0
  336. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnb.json +0 -0
  337. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnh.json +0 -0
  338. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnw.json +0 -0
  339. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nqo.json +0 -0
  340. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nso.json +0 -0
  341. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nuj.json +0 -0
  342. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nup.json +0 -0
  343. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nus.json +0 -0
  344. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nwb.json +0 -0
  345. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nya.json +0 -0
  346. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nym.json +0 -0
  347. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzd.json +0 -0
  348. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzi.json +0 -0
  349. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ogc.json +0 -0
  350. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/oku.json +0 -0
  351. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/onw.json +0 -0
  352. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pae.json +0 -0
  353. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pbi.json +0 -0
  354. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pny.json +0 -0
  355. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pov.json +0 -0
  356. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/puu.json +0 -0
  357. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pze.json +0 -0
  358. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rel.json +0 -0
  359. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rmt.json +0 -0
  360. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rng.json +0 -0
  361. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/run.json +0 -0
  362. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sad.json +0 -0
  363. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-central_african_republic.json +0 -0
  364. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-congo.json +0 -0
  365. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sav.json +0 -0
  366. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire.json +0 -0
  367. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire2.json +0 -0
  368. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/seh.json +0 -0
  369. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/she.json +0 -0
  370. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shk.json +0 -0
  371. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shu.json +0 -0
  372. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shy.json +0 -0
  373. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sig.json +0 -0
  374. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/siz.json +0 -0
  375. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sld.json +0 -0
  376. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sna.json +0 -0
  377. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk-senegal.json +0 -0
  378. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk.json +0 -0
  379. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sok.json +0 -0
  380. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sop.json +0 -0
  381. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spa.json +0 -0
  382. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spy.json +0 -0
  383. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssl.json +0 -0
  384. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssn.json +0 -0
  385. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssw.json +0 -0
  386. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/suk.json +0 -0
  387. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sur.json +0 -0
  388. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sus.json +0 -0
  389. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swb.json +0 -0
  390. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swh.json +0 -0
  391. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sym.json +0 -0
  392. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/szg.json +0 -0
  393. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tan.json +0 -0
  394. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taq.json +0 -0
  395. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taz.json +0 -0
  396. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbt.json +0 -0
  397. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbz.json +0 -0
  398. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ted.json +0 -0
  399. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tem.json +0 -0
  400. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/teo.json +0 -0
  401. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thv.json +0 -0
  402. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thz.json +0 -0
  403. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tig.json +0 -0
  404. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tik.json +0 -0
  405. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tir.json +0 -0
  406. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tmc.json +0 -0
  407. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tnr.json +0 -0
  408. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toh.json +0 -0
  409. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toq.json +0 -0
  410. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/trc.json +0 -0
  411. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsc.json +0 -0
  412. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tso.json +0 -0
  413. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsp.json +0 -0
  414. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ttq.json +0 -0
  415. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tui.json +0 -0
  416. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tum.json +0 -0
  417. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuq.json +0 -0
  418. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuz.json +0 -0
  419. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/twi.json +0 -0
  420. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tzm.json +0 -0
  421. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/uba.json +0 -0
  422. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/udu.json +0 -0
  423. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ukv.json +0 -0
  424. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/urh.json +0 -0
  425. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vag.json +0 -0
  426. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vai.json +0 -0
  427. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ven.json +0 -0
  428. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vmw.json +0 -0
  429. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vut.json +0 -0
  430. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wan.json +0 -0
  431. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wib.json +0 -0
  432. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wmw.json +0 -0
  433. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wob.json +0 -0
  434. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wol.json +0 -0
  435. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wwa.json +0 -0
  436. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xho.json +0 -0
  437. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xog.json +0 -0
  438. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xon.json +0 -0
  439. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xrb.json +0 -0
  440. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xsm.json +0 -0
  441. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yam.json +0 -0
  442. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yat.json +0 -0
  443. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ybb.json +0 -0
  444. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yid.json +0 -0
  445. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yko.json +0 -0
  446. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yor.json +0 -0
  447. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yun.json +0 -0
  448. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zag.json +0 -0
  449. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zen.json +0 -0
  450. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ziw.json +0 -0
  451. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zne.json +0 -0
  452. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zul.json +0 -0
  453. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/loader.py +0 -0
  454. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/normalizer.py +0 -0
  455. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/africa_g2p/pipeline.py +0 -0
  456. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/iqra_phonetiser/LICENSE.md +0 -0
  457. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/iqra_phonetiser/__init__.py +0 -0
  458. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/iqra_phonetiser/phonetiser.py +0 -0
  459. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/kog2p/LICENSE.md +0 -0
  460. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/kog2p/__init__.py +0 -0
  461. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/kog2p/rulebook.txt +0 -0
  462. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/LICENSE.md +0 -0
  463. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/__init__.py +0 -0
  464. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/buck/__init__.py +0 -0
  465. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/buck/phonetise_buckwalter.py +0 -0
  466. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/buck/symbols.py +0 -0
  467. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/buck/tokenization.py +0 -0
  468. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/num2words.py +0 -0
  469. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/_vendored/mantoq/unicode_symbol2label.py +0 -0
  470. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/africa.py +0 -0
  471. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/ar.py +0 -0
  472. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/en.py +0 -0
  473. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/enums.py +0 -0
  474. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/eu.py +0 -0
  475. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/fa.py +0 -0
  476. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/gl.py +0 -0
  477. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/he.py +0 -0
  478. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/ja.py +0 -0
  479. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/ko.py +0 -0
  480. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/mwl.py +0 -0
  481. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/o2ipa.py +0 -0
  482. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/pt.py +0 -0
  483. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/registry.py +0 -0
  484. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/ru.py +0 -0
  485. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/shami.py +0 -0
  486. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/vi.py +0 -0
  487. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/phonemizers/zh.py +0 -0
  488. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/py.typed +0 -0
  489. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/readings.py +0 -0
  490. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/scripts.py +0 -0
  491. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv/translit.py +0 -0
  492. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv.egg-info/SOURCES.txt +0 -0
  493. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv.egg-info/dependency_links.txt +0 -0
  494. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/scriptconv.egg-info/top_level.txt +0 -0
  495. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/setup.cfg +0 -0
  496. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_arpa_stress.py +0 -0
  497. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_cangjie.py +0 -0
  498. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_cli.py +0 -0
  499. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_conventions.py +0 -0
  500. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_diacritics_graph.py +0 -0
  501. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_errors_policy.py +0 -0
  502. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_examples.py +0 -0
  503. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_graph.py +0 -0
  504. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_notation.py +0 -0
  505. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_phonemizers_africa.py +0 -0
  506. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_phonemizers_cjk_ar.py +0 -0
  507. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_phonemizers_friendly_import_errors.py +0 -0
  508. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_phonemizers_halabi_iqra.py +0 -0
  509. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_phonemizers_ru.py +0 -0
  510. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_readings.py +0 -0
  511. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_readings_zh.py +0 -0
  512. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_scripts.py +0 -0
  513. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_scripts_stressonnx_compat.py +0 -0
  514. {scriptconv-0.0.4a19 → scriptconv-0.0.4a21}/tests/test_translit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scriptconv
3
- Version: 0.0.4a19
3
+ Version: 0.0.4a21
4
4
  Summary: Zero-dependency script & phoneme-notation core — ISO-15924 detection & metadata, IPA↔ARPABET/X-SAMPA/Lexique/Kirshenbaum/Cotovía/RFE, Buckwalter↔Arabic, Hangul→jamo, kana
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/TigreGotico/scriptconv
@@ -80,7 +80,7 @@ Requires-Dist: scriptconv[phonemizers]; extra == "tashkeel"
80
80
  Requires-Dist: text2tashkeel; extra == "tashkeel"
81
81
  Provides-Extra: stress
82
82
  Requires-Dist: scriptconv[phonemizers]; extra == "stress"
83
- Requires-Dist: stressonnx>=0.0.2; extra == "stress"
83
+ Requires-Dist: stressonnx>=0.0.3a2; extra == "stress"
84
84
  Provides-Extra: pt
85
85
  Requires-Dist: scriptconv[phonemizers]; extra == "pt"
86
86
  Requires-Dist: bifonia>=0.1.1; extra == "pt"
@@ -123,6 +123,7 @@ Requires-Dist: langcodes; extra == "test"
123
123
  Requires-Dist: regex; extra == "test"
124
124
  Requires-Dist: ovos-number-parser; extra == "test"
125
125
  Requires-Dist: bifonia>=0.1.1; extra == "test"
126
+ Requires-Dist: stressonnx>=0.0.3a2; extra == "test"
126
127
  Dynamic: license-file
127
128
 
128
129
  <div align="center">
@@ -53,7 +53,7 @@ he = ["scriptconv[phonemizers]", "phonikud-onnx"]
53
53
  fa = ["scriptconv[phonemizers]", "persian_phonemizer"]
54
54
  vi = ["scriptconv[phonemizers]", "viphoneme"]
55
55
  tashkeel = ["scriptconv[phonemizers]", "text2tashkeel"]
56
- stress = ["scriptconv[phonemizers]", "stressonnx>=0.0.2"]
56
+ stress = ["scriptconv[phonemizers]", "stressonnx>=0.0.3a2"]
57
57
  pt = ["scriptconv[phonemizers]", "bifonia>=0.1.1"]
58
58
  ja-phonemizers = ["scriptconv[phonemizers]", "pyopenjtalk", "cutlet", "pykakasi>=2.3,<3"]
59
59
  ko = ["scriptconv[phonemizers]", "g2pk", "regex"]
@@ -61,7 +61,7 @@ zh-phonemizers = ["scriptconv[phonemizers]", "jieba", "pypinyin>=0.50,<1", "xpin
61
61
  en-phonemizers = ["scriptconv[phonemizers]", "g2p_en", "openphonemizer", "deep-phonemizer", "requests"]
62
62
  ar-phonemizers = ["scriptconv[phonemizers]", "arbtok", "ovos-number-parser"]
63
63
  shami = ["scriptconv[phonemizers]", "regex"]
64
- test = ["pytest", "pytest-timeout", "pykakasi>=2.3,<3", "pypinyin>=0.50,<1", "quebra-frases", "langcodes", "regex", "ovos-number-parser", "bifonia>=0.1.1"]
64
+ test = ["pytest", "pytest-timeout", "pykakasi>=2.3,<3", "pypinyin>=0.50,<1", "quebra-frases", "langcodes", "regex", "ovos-number-parser", "bifonia>=0.1.1", "stressonnx>=0.0.3a2"]
65
65
 
66
66
  [project.urls]
67
67
  Homepage = "https://github.com/TigreGotico/scriptconv"
@@ -94,17 +94,86 @@ def _is_european_portuguese(lang: str) -> bool:
94
94
  return norm == "pt" or norm == "pt-pt"
95
95
 
96
96
 
97
+ #: Primary subtags whose STRESS_LANGS membership does not by itself mean the
98
+ #: bare tag is servable — stressonnx only ships script-qualified variants
99
+ #: (az-Cyrl/az-Latn, uz-Cyrl/uz-Latn) for these, so the bare tag is script-
100
+ #: ambiguous. Used both by the real stressonnx-backed check and by the
101
+ #: no-extra-installed fallback, so the two never disagree.
102
+ _SCRIPT_AMBIGUOUS_STRESS_LANGS = frozenset({"az", "uz"})
103
+
104
+
105
+ def _is_stress_lang_fallback(lang: str) -> bool:
106
+ """``_is_stress_lang`` semantics without importing stressonnx.
107
+
108
+ Mirrors stressonnx's own resolution rules closely enough to agree with
109
+ it on every tag ``STRESS_LANGS`` can produce: an exact/regional match on
110
+ a member whose primary subtag isn't script-ambiguous is accepted; a
111
+ 4-letter script subtag is only meaningful for the script-ambiguous pair
112
+ (az/uz) and must be Cyrl/Latn; every other script-qualified tag, and
113
+ every bare az/uz, is rejected rather than guessed at.
114
+ """
115
+ if not isinstance(lang, str):
116
+ return False
117
+ normalized = lang.replace("_", "-")
118
+ parts = normalized.split("-")
119
+ p = parts[0].lower()
120
+ if p not in STRESS_LANGS:
121
+ return False
122
+ has_script = len(parts) >= 2 and len(parts[1]) == 4 and parts[1].isalpha()
123
+ if p in _SCRIPT_AMBIGUOUS_STRESS_LANGS:
124
+ return has_script and parts[1].title() in ("Cyrl", "Latn")
125
+ return not has_script
126
+
127
+
128
+ def _is_stress_lang(lang: str) -> bool:
129
+ """True if stressonnx actually resolves *lang* to a supported model.
130
+
131
+ Delegates to stressonnx's own ``resolve_lang`` (the same resolver
132
+ :func:`_stress` triggers indirectly through ``stress()``) instead of
133
+ re-deriving the resolution rules here, so this and the real call can
134
+ never disagree — e.g. a bare ``"az"``/``"uz"`` is script-ambiguous and
135
+ stressonnx rejects it even though ``"az"``/``"uz"`` are primary subtags
136
+ of a ``STRESS_LANGS`` member, while a regional tag like ``"ru-RU"``
137
+ resolves fine to ``"ru"``. Only reached once :func:`_diacritizer_family`
138
+ has already matched the primary subtag against ``STRESS_LANGS``, so
139
+ non-stress tags (``en``, ``pt`` …) never pay for the stressonnx import
140
+ or the exception-based resolution.
141
+
142
+ Falls back to :func:`_is_stress_lang_fallback` — the same script-
143
+ ambiguity rule, evaluated without importing stressonnx — when the
144
+ optional ``[stress]`` extra isn't installed, so ``pip install
145
+ scriptconv[stress]`` changes only whether generation *works*, never
146
+ which tags are claimed as stress-family.
147
+ """
148
+ try:
149
+ from stressonnx import ALL_LANGS
150
+ from stressonnx.langs import resolve_lang
151
+ from stressonnx.errors import UnsupportedLanguageError
152
+ except ImportError:
153
+ return _is_stress_lang_fallback(lang)
154
+ try:
155
+ resolve_lang(lang, ALL_LANGS)
156
+ except UnsupportedLanguageError:
157
+ return False
158
+ return True
159
+
160
+
97
161
  def _diacritizer_family(lang: str) -> Optional[str]:
98
162
  """Which diacritization backend family handles *lang*, or ``None``.
99
163
 
100
- Single source of truth for lang→backend routing: both the forward
101
- dispatch (:func:`diacritize`) and the strip direction (:func:`_overlay_marks`)
102
- resolve through this, so the two can never disagree about which language
103
- uses which backend. Returns one of ``"he"`` (niqqud), ``"ar"`` (tashkeel),
104
- ``"stress"`` (stressonnx), ``"pt"`` (bifonia sense diacritics), or
105
- ``None``. Uses exact primary-subtag matching (never ``startswith``), so
106
- Aragonese (``arg``), Herero (``her``) and Mapudungun (``arn``) are never
107
- misread as Arabic/Hebrew.
164
+ Single source of truth for lang→backend routing for the *strip*
165
+ direction (:func:`_overlay_marks`) and for which languages carry
166
+ overlay marks at all: it uses the broad ``STRESS_LANGS`` primary-subtag
167
+ membership, not stressonnx's stricter script-resolution rules, because
168
+ stripping needs no model and every ``STRESS_LANGS`` member (bare az/uz
169
+ included) writes its overlay marks the same way regardless of script
170
+ ambiguity. :func:`diacritize`'s *generation* path narrows the "stress"
171
+ result further through :func:`_is_stress_lang` before actually calling
172
+ stressonnx, since only that path needs the real resolution. Returns one
173
+ of ``"he"`` (niqqud), ``"ar"`` (tashkeel), ``"stress"`` (stressonnx),
174
+ ``"pt"`` (bifonia sense diacritics), or ``None``. Uses exact primary-
175
+ subtag matching (never ``startswith``), so Aragonese (``arg``), Herero
176
+ (``her``) and Mapudungun (``arn``) are never misread as Arabic/Hebrew.
108
177
  """
109
178
  p = _primary_subtag(lang)
110
179
  if p == "he":
@@ -285,7 +354,14 @@ def diacritize(text: str, lang: str = "und", diacritizer_model=None,
285
354
  if family == "ar":
286
355
  return _tashkeel(diacritizer_model).diacritize(text)
287
356
  if family == "stress":
288
- return _stress(text, lang, diacritizer_model)
357
+ # _diacritizer_family's "stress" match is the broad STRESS_LANGS
358
+ # primary-subtag test (also used for stripping); generation needs
359
+ # stressonnx's stricter, script-aware resolution — a bare az/uz or
360
+ # a script-mismatched regional tag (e.g. "ru-Latn") is script-
361
+ # ambiguous/unsupported and must not reach the backend at all.
362
+ if _is_stress_lang(lang):
363
+ return _stress(text, lang, diacritizer_model)
364
+ return text
289
365
  if family == "pt":
290
366
  return _sense_diacritics_pt(text)
291
367
  return text
@@ -10,6 +10,7 @@ from scriptconv.phonemizers.enums import Alphabet, Phonemizer
10
10
  from scriptconv.phonemizers.base import (
11
11
  BasePhonemizer,
12
12
  GraphemePhonemizer,
13
+ MissingLanguageError,
13
14
  UnicodeCodepointPhonemizer,
14
15
  TextChunks,
15
16
  RawPhonemizedChunks,
@@ -30,6 +31,7 @@ __all__ = [
30
31
  "Phonemizer",
31
32
  "BasePhonemizer",
32
33
  "GraphemePhonemizer",
34
+ "MissingLanguageError",
33
35
  "UnicodeCodepointPhonemizer",
34
36
  "TextChunks",
35
37
  "RawPhonemizedChunks",
@@ -35,6 +35,16 @@ RawPhonemizedChunks = List[Tuple[str, str, bool]]
35
35
  PhonemizedChunks = list[list[str]]
36
36
 
37
37
 
38
+ class MissingLanguageError(ValueError):
39
+ """No language reached :meth:`BasePhonemizer.match_lang` at all.
40
+
41
+ Raised for ``None``/``""``/``"und"`` targets, which is a distinct failure
42
+ from an unsupported-but-present tag: it means whatever called into the
43
+ phonemizer never determined a language for the text, an upstream
44
+ config/data defect rather than a phonemizer capability gap.
45
+ """
46
+
47
+
38
48
  def _primary_subtag(lang: str) -> str:
39
49
  """Lowercase, ``_``→``-`` normalized primary language subtag.
40
50
 
@@ -165,8 +175,13 @@ class BasePhonemizer(metaclass=abc.ABCMeta):
165
175
  str: The validated language code.
166
176
 
167
177
  Raises:
178
+ MissingLanguageError: If no language reached the matcher at all
179
+ (``None``/``""``/``"und"``).
168
180
  ValueError: If the language code is unsupported.
169
181
  """
182
+ if target_lang in (None, "", "und"):
183
+ raise MissingLanguageError(
184
+ f"no language provided to phonemize: {target_lang!r}")
170
185
  lang, score = BasePhonemizer._match_lang(target_lang, valid_langs)
171
186
  if score > 10:
172
187
  # raise an error for unsupported language
@@ -325,6 +325,19 @@ class EspeakPhonemizer(BasePhonemizer):
325
325
  """
326
326
  if target_lang.lower() == "en-gb":
327
327
  return "en-gb-x-rp"
328
+ # espeak-ng has no bare "zh"/region-tagged Chinese codes, only "cmn" (Mandarin,
329
+ # any script) and "yue" (Cantonese); map BCP-47 Chinese tags onto those voices
330
+ # directly instead of falling through to tag_distance, which scores them below
331
+ # the match threshold and raises. Hong Kong/Macau are the only regions where
332
+ # Cantonese, not Mandarin, is the spoken vernacular.
333
+ ZH_ALIASES = {
334
+ "zh": "cmn", "zh-cn": "cmn", "zh-sg": "cmn",
335
+ "zh-hans": "cmn", "zh-hans-cn": "cmn", "zh-hans-sg": "cmn",
336
+ "zh-tw": "cmn", "zh-hant": "cmn", "zh-hant-tw": "cmn",
337
+ "zh-hk": "yue", "zh-mo": "yue",
338
+ }
339
+ if target_lang.lower() in ZH_ALIASES:
340
+ return ZH_ALIASES[target_lang.lower()]
328
341
  if target_lang in cls.ESPEAK_LANGS:
329
342
  return target_lang
330
343
  if target_lang.lower().split("-")[0] in cls.ESPEAK_LANGS:
@@ -2,7 +2,7 @@
2
2
  VERSION_MAJOR = 0
3
3
  VERSION_MINOR = 0
4
4
  VERSION_BUILD = 4
5
- VERSION_ALPHA = 19
5
+ VERSION_ALPHA = 21
6
6
  # END_VERSION_BLOCK
7
7
 
8
8
  VERSION_STR = f"{VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_BUILD}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scriptconv
3
- Version: 0.0.4a19
3
+ Version: 0.0.4a21
4
4
  Summary: Zero-dependency script & phoneme-notation core — ISO-15924 detection & metadata, IPA↔ARPABET/X-SAMPA/Lexique/Kirshenbaum/Cotovía/RFE, Buckwalter↔Arabic, Hangul→jamo, kana
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/TigreGotico/scriptconv
@@ -80,7 +80,7 @@ Requires-Dist: scriptconv[phonemizers]; extra == "tashkeel"
80
80
  Requires-Dist: text2tashkeel; extra == "tashkeel"
81
81
  Provides-Extra: stress
82
82
  Requires-Dist: scriptconv[phonemizers]; extra == "stress"
83
- Requires-Dist: stressonnx>=0.0.2; extra == "stress"
83
+ Requires-Dist: stressonnx>=0.0.3a2; extra == "stress"
84
84
  Provides-Extra: pt
85
85
  Requires-Dist: scriptconv[phonemizers]; extra == "pt"
86
86
  Requires-Dist: bifonia>=0.1.1; extra == "pt"
@@ -123,6 +123,7 @@ Requires-Dist: langcodes; extra == "test"
123
123
  Requires-Dist: regex; extra == "test"
124
124
  Requires-Dist: ovos-number-parser; extra == "test"
125
125
  Requires-Dist: bifonia>=0.1.1; extra == "test"
126
+ Requires-Dist: stressonnx>=0.0.3a2; extra == "test"
126
127
  Dynamic: license-file
127
128
 
128
129
  <div align="center">
@@ -94,7 +94,7 @@ regex
94
94
 
95
95
  [stress]
96
96
  scriptconv[phonemizers]
97
- stressonnx>=0.0.2
97
+ stressonnx>=0.0.3a2
98
98
 
99
99
  [tashkeel]
100
100
  scriptconv[phonemizers]
@@ -110,6 +110,7 @@ langcodes
110
110
  regex
111
111
  ovos-number-parser
112
112
  bifonia>=0.1.1
113
+ stressonnx>=0.0.3a2
113
114
 
114
115
  [transphone]
115
116
  scriptconv[phonemizers]
@@ -47,6 +47,15 @@ def test_strip_hebrew_removes_niqqud_preserves_consonants():
47
47
  assert stripped == "שלום"
48
48
 
49
49
 
50
+ def test_strip_bare_az_uses_broad_stress_lang_membership():
51
+ # Bare "az"/"uz" are script-ambiguous for *generation* (stressonnx needs
52
+ # az-Cyrl/az-Latn to actually run), but stripping is a pure codepoint
53
+ # filter that needs no model — it must still work for the bare tag
54
+ # rather than raising the native-orthography ValueError.
55
+ text = "za" + "\u0301" + "mok" # combining acute (U+0301), not precomposed á
56
+ assert strip_diacritics(text, "az") == "zamok"
57
+
58
+
50
59
  @pytest.mark.parametrize("text,lang", [
51
60
  ("café", "pt"),
52
61
  ("café", "en"),
@@ -75,7 +84,9 @@ def test_supports_strip_false(lang):
75
84
 
76
85
 
77
86
  def test_overlay_marks_stress_lang():
78
- lang = next(iter(STRESS_LANGS))
87
+ # "az"/"uz" are script-ambiguous bare tags (stressonnx only serves the
88
+ # az-Cyrl/az-Latn/uz-Cyrl/uz-Latn variants) — pick an unambiguous member.
89
+ lang = next(t for t in STRESS_LANGS if t not in ("az", "uz"))
79
90
  assert _overlay_marks(lang) == _STRESS_MARKS
80
91
 
81
92
 
@@ -294,3 +305,108 @@ class TestEastSlavicStressRouting:
294
305
  with pytest.raises(ImportError) as ctx:
295
306
  diacritize("замок", "ru")
296
307
  assert "stressonnx" in str(ctx.value)
308
+
309
+
310
+ class TestFamilyAgreesWithStressonnxResolution:
311
+ """``_diacritizer_family`` must never claim a lang stressonnx rejects,
312
+ and must never reject a lang stressonnx actually resolves — the two
313
+ have to agree by construction (real installed stressonnx 0.0.3a2, no
314
+ model inference: ``_stress`` itself is monkeypatched)."""
315
+
316
+ def test_regional_tag_routes_to_stress_and_calls_through_with_raw_tag(self, monkeypatch):
317
+ from scriptconv import diacritics
318
+ calls = []
319
+ monkeypatch.setattr(diacritics, "_stress",
320
+ lambda text, lang, model=None: calls.append((text, lang)) or "STRESSED")
321
+ out = diacritics.diacritize("замок", "ru-RU")
322
+ assert out == "STRESSED"
323
+ assert calls == [("замок", "ru-RU")]
324
+
325
+ def test_bare_az_does_not_route_to_stress(self, monkeypatch):
326
+ from scriptconv import diacritics
327
+ monkeypatch.setattr(diacritics, "_stress",
328
+ lambda text, lang, model=None: (_ for _ in ()).throw(
329
+ AssertionError("stress backend must not be called for bare 'az'")))
330
+ # bare "az" is script-ambiguous for stressonnx (only az-Cyrl/az-Latn
331
+ # exist) — no UnsupportedLanguageError should escape scriptconv, and
332
+ # the stress backend must never be invoked for it.
333
+ out = diacritics.diacritize("salam", "az")
334
+ assert out == "salam"
335
+
336
+ def test_bare_uz_does_not_route_to_stress(self, monkeypatch):
337
+ from scriptconv import diacritics
338
+ monkeypatch.setattr(diacritics, "_stress",
339
+ lambda text, lang, model=None: (_ for _ in ()).throw(
340
+ AssertionError("stress backend must not be called for bare 'uz'")))
341
+ out = diacritics.diacritize("salom", "uz")
342
+ assert out == "salom"
343
+
344
+ def test_script_qualified_az_routes_to_stress(self, monkeypatch):
345
+ from scriptconv import diacritics
346
+ calls = []
347
+ monkeypatch.setattr(diacritics, "_stress",
348
+ lambda text, lang, model=None: calls.append((text, lang)) or "STRESSED")
349
+ out = diacritics.diacritize("salam", "az-Latn")
350
+ assert out == "STRESSED"
351
+ assert calls == [("salam", "az-Latn")]
352
+
353
+ def test_ru_latn_does_not_crash_and_is_not_claimed_by_stress(self, monkeypatch):
354
+ from scriptconv import diacritics
355
+ monkeypatch.setattr(diacritics, "_stress",
356
+ lambda text, lang, model=None: (_ for _ in ()).throw(
357
+ AssertionError("stress backend must not be called for 'ru-Latn'")))
358
+ # "ru-Latn" names a script Russian isn't written in — stressonnx
359
+ # raises UnsupportedLanguageError for it, so the family test must
360
+ # not claim it either; scriptconv falls through to unchanged text.
361
+ text = "zamok"
362
+ assert diacritics.diacritize(text, "ru-Latn") == text
363
+
364
+ def test_fallback_matches_real_stressonnx_on_every_probe(self):
365
+ # ``pip install scriptconv[stress]`` must change only whether
366
+ # generation *works*, never which tags are claimed as stress-family
367
+ # — so the no-extra-installed fallback and the real, installed
368
+ # stressonnx must agree on every probe tag.
369
+ from scriptconv.diacritics import _is_stress_lang, _is_stress_lang_fallback
370
+
371
+ probes = ["ru", "ru-RU", "ru-Latn", "az", "uz", "az-Latn", "az-Cyrl",
372
+ "uz-Latn", "uz-Cyrl", "uk", "be", "ka", "hy", "ber", "en"]
373
+ for tag in probes:
374
+ assert _is_stress_lang_fallback(tag) == _is_stress_lang(tag), tag
375
+
376
+
377
+ class TestStressFamilyRoutingWithoutStressonnxInstalled:
378
+ """``_is_stress_lang`` must apply the same script-ambiguity rule whether
379
+ or not stressonnx is importable, so routing never depends on the
380
+ optional extra being installed."""
381
+
382
+ def _hide_stressonnx(self, monkeypatch):
383
+ import sys
384
+ monkeypatch.setitem(sys.modules, "stressonnx", None)
385
+ monkeypatch.setitem(sys.modules, "stressonnx.langs", None)
386
+ monkeypatch.setitem(sys.modules, "stressonnx.errors", None)
387
+
388
+ def test_bare_az_not_claimed_without_extra(self, monkeypatch):
389
+ from scriptconv import diacritics
390
+ self._hide_stressonnx(monkeypatch)
391
+ assert diacritics._is_stress_lang("az") is False
392
+ assert diacritics.diacritize("salam", "az") == "salam"
393
+
394
+ def test_bare_uz_not_claimed_without_extra(self, monkeypatch):
395
+ from scriptconv import diacritics
396
+ self._hide_stressonnx(monkeypatch)
397
+ assert diacritics._is_stress_lang("uz") is False
398
+
399
+ def test_script_qualified_az_claimed_without_extra(self, monkeypatch):
400
+ from scriptconv import diacritics
401
+ self._hide_stressonnx(monkeypatch)
402
+ assert diacritics._is_stress_lang("az-Latn") is True
403
+
404
+ def test_ru_latn_not_claimed_without_extra(self, monkeypatch):
405
+ from scriptconv import diacritics
406
+ self._hide_stressonnx(monkeypatch)
407
+ assert diacritics._is_stress_lang("ru-Latn") is False
408
+
409
+ def test_regional_ru_claimed_without_extra(self, monkeypatch):
410
+ from scriptconv import diacritics
411
+ self._hide_stressonnx(monkeypatch)
412
+ assert diacritics._is_stress_lang("ru-RU") is True
@@ -5,6 +5,7 @@ from scriptconv.phonemizers import (
5
5
  BasePhonemizer,
6
6
  GraphemePhonemizer,
7
7
  LANG_DEFAULTS,
8
+ MissingLanguageError,
8
9
  PHONEMIZER_REGISTRY,
9
10
  Phonemizer,
10
11
  UnicodeCodepointPhonemizer,
@@ -81,6 +82,22 @@ class TestBaseContract(unittest.TestCase):
81
82
  BasePhonemizer.match_lang("zz-XX", ["en", "pt"])
82
83
  self.assertEqual(BasePhonemizer.match_lang("en-US", ["en", "pt"]), "en")
83
84
 
85
+ def test_match_lang_unsupported_tag_keeps_plain_valueerror(self):
86
+ # a real, present-but-unsupported tag (e.g. Tetun) is a phonemizer
87
+ # capability gap, not a missing-language config defect
88
+ with self.assertRaises(ValueError) as cm:
89
+ BasePhonemizer.match_lang("tet", ["en", "pt"])
90
+ self.assertNotIsInstance(cm.exception, MissingLanguageError)
91
+ self.assertIn("unsupported language code", str(cm.exception))
92
+
93
+ def test_match_lang_missing_language_raises_distinct_error(self):
94
+ for missing in (None, "", "und"):
95
+ with self.assertRaises(MissingLanguageError) as cm:
96
+ BasePhonemizer.match_lang(missing, ["eu"])
97
+ # still a ValueError so existing `except ValueError` callers work
98
+ self.assertIsInstance(cm.exception, ValueError)
99
+ self.assertNotIn("unsupported language code", str(cm.exception))
100
+
84
101
  def test_unicode_codepoint_nfd(self):
85
102
  u = UnicodeCodepointPhonemizer()
86
103
  self.assertEqual(len(u.phonemize_string("ã", "pt")), 2) # a + combining
@@ -205,3 +222,29 @@ class TestModelForwarding(unittest.TestCase):
205
222
  self.assertIsInstance(g, GraphemePhonemizer)
206
223
 
207
224
 
225
+ class TestEspeakGetLangChinese(unittest.TestCase):
226
+ """espeak-ng ships no bare "zh"/region-tagged Chinese voice, only "cmn"
227
+ and "yue" — get_lang must map BCP-47 Chinese tags onto those directly."""
228
+
229
+ def _get_lang(self):
230
+ from scriptconv.phonemizers.mul import EspeakPhonemizer
231
+ return EspeakPhonemizer.get_lang
232
+
233
+ def test_zh_region_tags_resolve_to_supported_voice(self):
234
+ from scriptconv.phonemizers.mul import EspeakPhonemizer
235
+ get_lang = self._get_lang()
236
+ for code in ("zh", "zh-CN", "zh-TW", "zh-HK", "zh-Hant-TW"):
237
+ resolved = get_lang(code)
238
+ self.assertIn(resolved, EspeakPhonemizer.ESPEAK_LANGS,
239
+ f"{code} -> {resolved}")
240
+
241
+ def test_en_gb_special_case_unchanged(self):
242
+ get_lang = self._get_lang()
243
+ self.assertEqual(get_lang("en-gb"), "en-gb-x-rp")
244
+
245
+ def test_unsupported_code_still_raises(self):
246
+ get_lang = self._get_lang()
247
+ with self.assertRaises(ValueError):
248
+ get_lang("xx-not-a-real-lang")
249
+
250
+
File without changes
File without changes