scriptconv 0.0.4a31__tar.gz → 0.0.4a33__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 (527) hide show
  1. {scriptconv-0.0.4a31/scriptconv.egg-info → scriptconv-0.0.4a33}/PKG-INFO +34 -1
  2. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/README.md +33 -0
  3. scriptconv-0.0.4a33/scriptconv/phonemizers/_vendored/matoub_kab/__init__.py +143 -0
  4. scriptconv-0.0.4a33/scriptconv/phonemizers/ber.py +62 -0
  5. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/enums.py +1 -0
  6. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/mul.py +7 -3
  7. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/registry.py +1 -0
  8. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/version.py +1 -1
  9. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33/scriptconv.egg-info}/PKG-INFO +34 -1
  10. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/SOURCES.txt +4 -0
  11. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_base.py +2 -1
  12. scriptconv-0.0.4a33/tests/test_phonemizers_matoub_kab.py +137 -0
  13. scriptconv-0.0.4a33/tests/test_phonemizers_phonetisaurus_engine.py +138 -0
  14. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/LICENSE +0 -0
  15. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/pyproject.toml +0 -0
  16. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/requirements.txt +0 -0
  17. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/__init__.py +0 -0
  18. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/__main__.py +0 -0
  19. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/cangjie.py +0 -0
  20. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/conventions.py +0 -0
  21. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/data/__init__.py +0 -0
  22. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/data/cangjie5_tc.tsv.gz +0 -0
  23. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/diacritics.py +0 -0
  24. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/graph.py +0 -0
  25. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/notation.py +0 -0
  26. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/__init__.py +0 -0
  27. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/__init__.py +0 -0
  28. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/bw2ipa.py +0 -0
  29. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/hangul2ipa.py +0 -0
  30. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/aspiration.csv +0 -0
  31. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/assimilation.csv +0 -0
  32. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/double_coda.csv +0 -0
  33. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/hanja.tsv +0 -0
  34. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/ipa.csv +0 -0
  35. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/neutralization.csv +0 -0
  36. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/tensification.csv +0 -0
  37. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/yale.csv +0 -0
  38. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/__init__.py +0 -0
  39. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/codeswitch.py +0 -0
  40. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/diacritize.py +0 -0
  41. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/dialectal.py +0 -0
  42. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/english_g2p.py +0 -0
  43. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/espeak.py +0 -0
  44. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/frontend.py +0 -0
  45. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/levantine_g2p.py +0 -0
  46. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/normalize.py +0 -0
  47. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/phoneme_inventory.py +0 -0
  48. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/vosk_g2p.py +0 -0
  49. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/zh_num.py +0 -0
  50. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/__init__.py +0 -0
  51. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/DATA_LICENSE.md +0 -0
  52. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/LICENSE.md +0 -0
  53. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/__init__.py +0 -0
  54. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/cli.py +0 -0
  55. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/convert.py +0 -0
  56. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/data/ipa_universal_graphemes.json +0 -0
  57. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/data/registry.json +0 -0
  58. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/english.py +0 -0
  59. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/fallback.py +0 -0
  60. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/g2p.py +0 -0
  61. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aar.json +0 -0
  62. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/abi.json +0 -0
  63. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acd.json +0 -0
  64. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ach.json +0 -0
  65. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acz.json +0 -0
  66. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ada.json +0 -0
  67. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ade.json +0 -0
  68. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/adj.json +0 -0
  69. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aeb.json +0 -0
  70. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ael.json +0 -0
  71. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/afr.json +0 -0
  72. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ags.json +0 -0
  73. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aha.json +0 -0
  74. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aiw.json +0 -0
  75. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ajg.json +0 -0
  76. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/akp.json +0 -0
  77. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aks.json +0 -0
  78. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aku.json +0 -0
  79. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/alz.json +0 -0
  80. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amb.json +0 -0
  81. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amf.json +0 -0
  82. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amh.json +0 -0
  83. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/anc.json +0 -0
  84. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ank.json +0 -0
  85. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ann.json +0 -0
  86. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/any.json +0 -0
  87. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/apd.json +0 -0
  88. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ara.json +0 -0
  89. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arb.json +0 -0
  90. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ary.json +0 -0
  91. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arz.json +0 -0
  92. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ato.json +0 -0
  93. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avi.json +0 -0
  94. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avn.json +0 -0
  95. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avu.json +0 -0
  96. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ayb.json +0 -0
  97. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/azo.json +0 -0
  98. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bam.json +0 -0
  99. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bas.json +0 -0
  100. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bav.json +0 -0
  101. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bax.json +0 -0
  102. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bba.json +0 -0
  103. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bbq.json +0 -0
  104. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bci.json +0 -0
  105. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bcq.json +0 -0
  106. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bde.json +0 -0
  107. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdj.json +0 -0
  108. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdu.json +0 -0
  109. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bec.json +0 -0
  110. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/beh.json +0 -0
  111. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bej.json +0 -0
  112. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bem.json +0 -0
  113. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bex.json +0 -0
  114. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfa.json +0 -0
  115. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfj.json +0 -0
  116. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfm.json +0 -0
  117. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bhy.json +0 -0
  118. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bib.json +0 -0
  119. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bim.json +0 -0
  120. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bin.json +0 -0
  121. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjo.json +0 -0
  122. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjt.json +0 -0
  123. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkc.json +0 -0
  124. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkm.json +0 -0
  125. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bky.json +0 -0
  126. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ble.json +0 -0
  127. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/blm.json +0 -0
  128. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bng.json +0 -0
  129. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bni.json +0 -0
  130. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bol.json +0 -0
  131. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bom.json +0 -0
  132. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bot.json +0 -0
  133. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boy.json +0 -0
  134. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boz.json +0 -0
  135. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqj.json +0 -0
  136. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqp.json +0 -0
  137. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqx.json +0 -0
  138. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsc.json +0 -0
  139. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsq.json +0 -0
  140. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buc.json +0 -0
  141. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bud.json +0 -0
  142. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buf.json +0 -0
  143. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bum.json +0 -0
  144. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bva.json +0 -0
  145. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bvm.json +0 -0
  146. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bwj.json +0 -0
  147. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bxk.json +0 -0
  148. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byn.json +0 -0
  149. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byv.json +0 -0
  150. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bza.json +0 -0
  151. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cgg.json +0 -0
  152. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cjk.json +0 -0
  153. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cko.json +0 -0
  154. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cme.json +0 -0
  155. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cop.json +0 -0
  156. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daa.json +0 -0
  157. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daf.json +0 -0
  158. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dag.json +0 -0
  159. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dbq.json +0 -0
  160. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dec.json +0 -0
  161. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dgd.json +0 -0
  162. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/did.json +0 -0
  163. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/din.json +0 -0
  164. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dmf.json +0 -0
  165. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dnj.json +0 -0
  166. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin.json +0 -0
  167. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin2.json +0 -0
  168. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dow.json +0 -0
  169. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dsh.json +0 -0
  170. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dua.json +0 -0
  171. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dug.json +0 -0
  172. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyo.json +0 -0
  173. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyu.json +0 -0
  174. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dzd.json +0 -0
  175. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebo.json +0 -0
  176. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebr.json +0 -0
  177. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/efi.json +0 -0
  178. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ell.json +0 -0
  179. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ema.json +0 -0
  180. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/emk.json +0 -0
  181. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eng.json +0 -0
  182. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/enn.json +0 -0
  183. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/etn.json +0 -0
  184. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eto.json +0 -0
  185. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewe.json +0 -0
  186. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewo.json +0 -0
  187. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fak.json +0 -0
  188. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fat.json +0 -0
  189. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ffm.json +0 -0
  190. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fia.json +0 -0
  191. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/flr.json +0 -0
  192. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fmp.json +0 -0
  193. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fng.json +0 -0
  194. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fod.json +0 -0
  195. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fon.json +0 -0
  196. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fuc.json +0 -0
  197. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fue.json +0 -0
  198. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gaa.json +0 -0
  199. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gej.json +0 -0
  200. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gez.json +0 -0
  201. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gfe.json +0 -0
  202. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gha.json +0 -0
  203. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gho.json +0 -0
  204. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gjn.json +0 -0
  205. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gng.json +0 -0
  206. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/god.json +0 -0
  207. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gog.json +0 -0
  208. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gou.json +0 -0
  209. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grb.json +0 -0
  210. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grr.json +0 -0
  211. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gud.json +0 -0
  212. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guk.json +0 -0
  213. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gur.json +0 -0
  214. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gux.json +0 -0
  215. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guz.json +0 -0
  216. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwa.json +0 -0
  217. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwd.json +0 -0
  218. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwr.json +0 -0
  219. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gxx.json +0 -0
  220. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hag.json +0 -0
  221. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/har.json +0 -0
  222. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-niger.json +0 -0
  223. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-nigeria.json +0 -0
  224. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hay.json +0 -0
  225. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hdy.json +0 -0
  226. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hts.json +0 -0
  227. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ibo.json +0 -0
  228. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igb.json +0 -0
  229. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ige.json +0 -0
  230. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igl.json +0 -0
  231. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igo.json +0 -0
  232. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ikw.json +0 -0
  233. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/irk.json +0 -0
  234. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/iso.json +0 -0
  235. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/jib.json +0 -0
  236. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kab.json +0 -0
  237. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbo.json +0 -0
  238. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbp.json +0 -0
  239. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbr.json +0 -0
  240. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kcn.json +0 -0
  241. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kde.json +0 -0
  242. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdh.json +0 -0
  243. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdj.json +0 -0
  244. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdn.json +0 -0
  245. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdx.json +0 -0
  246. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kea.json +0 -0
  247. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kec.json +0 -0
  248. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ker.json +0 -0
  249. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khq.json +0 -0
  250. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khy.json +0 -0
  251. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kik.json +0 -0
  252. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kin.json +0 -0
  253. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kiz.json +0 -0
  254. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kmb.json +0 -0
  255. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knc.json +0 -0
  256. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knf.json +0 -0
  257. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/koo.json +0 -0
  258. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kpe.json +0 -0
  259. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kqs.json +0 -0
  260. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/krb.json +0 -0
  261. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kri.json +0 -0
  262. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ksb.json +0 -0
  263. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ktz.json +0 -0
  264. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kuj.json +0 -0
  265. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kus.json +0 -0
  266. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lad.json +0 -0
  267. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lai.json +0 -0
  268. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lch.json +0 -0
  269. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ldd.json +0 -0
  270. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgg.json +0 -0
  271. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgq.json +0 -0
  272. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lig.json +0 -0
  273. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lin.json +0 -0
  274. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lky.json +0 -0
  275. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lln.json +0 -0
  276. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lma.json +0 -0
  277. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmd.json +0 -0
  278. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmp.json +0 -0
  279. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lns.json +0 -0
  280. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/loi.json +0 -0
  281. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lok.json +0 -0
  282. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lol.json +0 -0
  283. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lot.json +0 -0
  284. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lpx.json +0 -0
  285. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lub.json +0 -0
  286. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luc.json +0 -0
  287. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lue.json +0 -0
  288. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lug.json +0 -0
  289. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lul.json +0 -0
  290. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lun.json +0 -0
  291. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luw.json +0 -0
  292. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mas.json +0 -0
  293. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/maw.json +0 -0
  294. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mck.json +0 -0
  295. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcp.json +0 -0
  296. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcu.json +0 -0
  297. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mdj.json +0 -0
  298. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mev.json +0 -0
  299. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfb.json +0 -0
  300. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfe.json +0 -0
  301. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfi.json +0 -0
  302. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfq.json +0 -0
  303. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgc.json +0 -0
  304. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgd.json +0 -0
  305. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgh.json +0 -0
  306. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mhi.json +0 -0
  307. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkf.json +0 -0
  308. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkw.json +0 -0
  309. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlg.json +0 -0
  310. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlw.json +0 -0
  311. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmo.json +0 -0
  312. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmy.json +0 -0
  313. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnf.json +0 -0
  314. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnk.json +0 -0
  315. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mos.json +0 -0
  316. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mpg.json +0 -0
  317. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mqu.json +0 -0
  318. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mse.json +0 -0
  319. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mur.json +0 -0
  320. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mwe.json +0 -0
  321. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myf.json +0 -0
  322. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myk.json +0 -0
  323. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myo.json +0 -0
  324. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myx.json +0 -0
  325. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mzk.json +0 -0
  326. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/naw.json +0 -0
  327. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nba.json +0 -0
  328. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ncu.json +0 -0
  329. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndb.json +0 -0
  330. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndo.json +0 -0
  331. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ney.json +0 -0
  332. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nfr.json +0 -0
  333. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nga.json +0 -0
  334. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire.json +0 -0
  335. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire2.json +0 -0
  336. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngh.json +0 -0
  337. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngi.json +0 -0
  338. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhb.json +0 -0
  339. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhu.json +0 -0
  340. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhw.json +0 -0
  341. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nko.json +0 -0
  342. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmn.json +0 -0
  343. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmq.json +0 -0
  344. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnb.json +0 -0
  345. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnh.json +0 -0
  346. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnw.json +0 -0
  347. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nqo.json +0 -0
  348. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nso.json +0 -0
  349. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nuj.json +0 -0
  350. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nup.json +0 -0
  351. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nus.json +0 -0
  352. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nwb.json +0 -0
  353. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nya.json +0 -0
  354. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nym.json +0 -0
  355. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzd.json +0 -0
  356. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzi.json +0 -0
  357. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ogc.json +0 -0
  358. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/oku.json +0 -0
  359. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/onw.json +0 -0
  360. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pae.json +0 -0
  361. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pbi.json +0 -0
  362. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pny.json +0 -0
  363. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pov.json +0 -0
  364. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/puu.json +0 -0
  365. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pze.json +0 -0
  366. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rel.json +0 -0
  367. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rmt.json +0 -0
  368. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rng.json +0 -0
  369. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/run.json +0 -0
  370. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sad.json +0 -0
  371. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-central_african_republic.json +0 -0
  372. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-congo.json +0 -0
  373. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sav.json +0 -0
  374. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire.json +0 -0
  375. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire2.json +0 -0
  376. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/seh.json +0 -0
  377. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/she.json +0 -0
  378. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shk.json +0 -0
  379. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shu.json +0 -0
  380. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shy.json +0 -0
  381. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sig.json +0 -0
  382. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/siz.json +0 -0
  383. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sld.json +0 -0
  384. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sna.json +0 -0
  385. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk-senegal.json +0 -0
  386. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk.json +0 -0
  387. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sok.json +0 -0
  388. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sop.json +0 -0
  389. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spa.json +0 -0
  390. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spy.json +0 -0
  391. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssl.json +0 -0
  392. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssn.json +0 -0
  393. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssw.json +0 -0
  394. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/suk.json +0 -0
  395. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sur.json +0 -0
  396. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sus.json +0 -0
  397. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swb.json +0 -0
  398. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swh.json +0 -0
  399. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sym.json +0 -0
  400. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/szg.json +0 -0
  401. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tan.json +0 -0
  402. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taq.json +0 -0
  403. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taz.json +0 -0
  404. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbt.json +0 -0
  405. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbz.json +0 -0
  406. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ted.json +0 -0
  407. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tem.json +0 -0
  408. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/teo.json +0 -0
  409. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thv.json +0 -0
  410. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thz.json +0 -0
  411. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tig.json +0 -0
  412. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tik.json +0 -0
  413. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tir.json +0 -0
  414. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tmc.json +0 -0
  415. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tnr.json +0 -0
  416. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toh.json +0 -0
  417. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toq.json +0 -0
  418. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/trc.json +0 -0
  419. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsc.json +0 -0
  420. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tso.json +0 -0
  421. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsp.json +0 -0
  422. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ttq.json +0 -0
  423. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tui.json +0 -0
  424. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tum.json +0 -0
  425. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuq.json +0 -0
  426. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuz.json +0 -0
  427. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/twi.json +0 -0
  428. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tzm.json +0 -0
  429. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/uba.json +0 -0
  430. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/udu.json +0 -0
  431. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ukv.json +0 -0
  432. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/urh.json +0 -0
  433. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vag.json +0 -0
  434. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vai.json +0 -0
  435. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ven.json +0 -0
  436. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vmw.json +0 -0
  437. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vut.json +0 -0
  438. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wan.json +0 -0
  439. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wib.json +0 -0
  440. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wmw.json +0 -0
  441. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wob.json +0 -0
  442. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wol.json +0 -0
  443. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wwa.json +0 -0
  444. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xho.json +0 -0
  445. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xog.json +0 -0
  446. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xon.json +0 -0
  447. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xrb.json +0 -0
  448. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xsm.json +0 -0
  449. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yam.json +0 -0
  450. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yat.json +0 -0
  451. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ybb.json +0 -0
  452. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yid.json +0 -0
  453. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yko.json +0 -0
  454. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yor.json +0 -0
  455. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yun.json +0 -0
  456. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zag.json +0 -0
  457. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zen.json +0 -0
  458. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ziw.json +0 -0
  459. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zne.json +0 -0
  460. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zul.json +0 -0
  461. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/loader.py +0 -0
  462. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/normalizer.py +0 -0
  463. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/pipeline.py +0 -0
  464. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/iqra_phonetiser/LICENSE.md +0 -0
  465. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/iqra_phonetiser/__init__.py +0 -0
  466. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/iqra_phonetiser/phonetiser.py +0 -0
  467. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/kog2p/LICENSE.md +0 -0
  468. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/kog2p/__init__.py +0 -0
  469. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/kog2p/rulebook.txt +0 -0
  470. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/LICENSE.md +0 -0
  471. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/__init__.py +0 -0
  472. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/__init__.py +0 -0
  473. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/phonetise_buckwalter.py +0 -0
  474. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/symbols.py +0 -0
  475. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/tokenization.py +0 -0
  476. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/num2words.py +0 -0
  477. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/unicode_symbol2label.py +0 -0
  478. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/africa.py +0 -0
  479. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ar.py +0 -0
  480. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/base.py +0 -0
  481. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/en.py +0 -0
  482. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/eu.py +0 -0
  483. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/fa.py +0 -0
  484. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ghana.py +0 -0
  485. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/gl.py +0 -0
  486. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/he.py +0 -0
  487. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ja.py +0 -0
  488. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ko.py +0 -0
  489. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/mwl.py +0 -0
  490. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/o2ipa.py +0 -0
  491. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/pt.py +0 -0
  492. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ru.py +0 -0
  493. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/shami.py +0 -0
  494. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/vi.py +0 -0
  495. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/zh.py +0 -0
  496. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/py.typed +0 -0
  497. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/readings.py +0 -0
  498. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/scripts.py +0 -0
  499. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/translit.py +0 -0
  500. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/dependency_links.txt +0 -0
  501. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/requires.txt +0 -0
  502. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/top_level.txt +0 -0
  503. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/setup.cfg +0 -0
  504. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_arpa_stress.py +0 -0
  505. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_cangjie.py +0 -0
  506. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_cli.py +0 -0
  507. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_conventions.py +0 -0
  508. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_diacritics.py +0 -0
  509. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_diacritics_graph.py +0 -0
  510. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_errors_policy.py +0 -0
  511. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_examples.py +0 -0
  512. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_graph.py +0 -0
  513. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_he_extra_declares_phonikud.py +0 -0
  514. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_notation.py +0 -0
  515. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_africa.py +0 -0
  516. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_cjk_ar.py +0 -0
  517. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_friendly_import_errors.py +0 -0
  518. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_ghana.py +0 -0
  519. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_halabi_iqra.py +0 -0
  520. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_phonetisaurus.py +0 -0
  521. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_pt_tugaphone.py +0 -0
  522. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_ru.py +0 -0
  523. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_readings.py +0 -0
  524. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_readings_zh.py +0 -0
  525. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_scripts.py +0 -0
  526. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_scripts_stressonnx_compat.py +0 -0
  527. {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_translit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scriptconv
3
- Version: 0.0.4a31
3
+ Version: 0.0.4a33
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
@@ -483,6 +483,39 @@ The core installs with zero dependencies. Capabilities opt in:
483
483
  | `tashkeel` | Arabic diacritization for the phonemizer pipeline (text2tashkeel) |
484
484
  | `stress` | Word-stress restoration for 26 stressonnx language tags: East Slavic; Bulgarian, Macedonian, and Slovene; Latvian; Armenian; Georgian; and Turkic/Caucasian, for the phonemizer pipeline (stressonnx; not yet on PyPI) |
485
485
  | `pt` | European-Portuguese heterophonic-homograph sense diacritics for the phonemizer pipeline (bifonia) |
486
+ | `phonetisaurus` | WFST grapheme-to-phoneme through a trained FST the caller supplies (phonetisaurus). Training also needs `libquadmath0` on the host: see below |
487
+
488
+ ### The `phonetisaurus` extra and its libraries
489
+
490
+ `pip install scriptconv[phonetisaurus]` completes, and the `phonetisaurus`
491
+ 0.3.0 wheel bundles its own executables and most of its own shared objects
492
+ (`libfst.so.13`, `libmitlm.so.1`, `libgfortran.so.3` and the OpenFST
493
+ companions) under `phonetisaurus/lib/<machine>`. The binaries find them only
494
+ through the `PATH` and `LD_LIBRARY_PATH` that `phonetisaurus.guess_environment()`
495
+ builds, which is the environment `phonetisaurus.predict` and
496
+ `phonetisaurus.train` pass to every call. A binary started with the plain
497
+ shell environment exits 127 from the dynamic loader; that is a report about
498
+ the caller, not about the box.
499
+
500
+ The apply path therefore runs out of the box, and this wrapper only applies a
501
+ model. One object is NOT bundled:
502
+
503
+ | Missing object | Needed by | Where it comes from |
504
+ |---|---|---|
505
+ | `libquadmath.so.0` | `estimate-ngram`, and so `phonetisaurus.train` | the GCC runtime: package `libquadmath0` on Debian and Ubuntu |
506
+
507
+ So a box without `libquadmath0` can phonemize with a model it is given, and
508
+ cannot train one.
509
+
510
+ `model=` is required and scriptconv never downloads: see `MODEL_SOURCES` on
511
+ the class, or train a model with `phonetisaurus.train` from a lexicon such as
512
+ CMUdict.
513
+
514
+ `tests/test_phonemizers_phonetisaurus_engine.py` is the real-engine cell. It
515
+ runs the same word through the engine at `nbest=1` and `nbest=2` and checks
516
+ the wrapper returns the engine's own best-ranked line both times. It skips,
517
+ and names the loader error or the missing model, when the engine cannot run.
518
+ Set `SCRIPTCONV_PHONETISAURUS_MODEL` to a trained FST to run it.
486
519
 
487
520
  ## Licensing
488
521
 
@@ -345,6 +345,39 @@ The core installs with zero dependencies. Capabilities opt in:
345
345
  | `tashkeel` | Arabic diacritization for the phonemizer pipeline (text2tashkeel) |
346
346
  | `stress` | Word-stress restoration for 26 stressonnx language tags: East Slavic; Bulgarian, Macedonian, and Slovene; Latvian; Armenian; Georgian; and Turkic/Caucasian, for the phonemizer pipeline (stressonnx; not yet on PyPI) |
347
347
  | `pt` | European-Portuguese heterophonic-homograph sense diacritics for the phonemizer pipeline (bifonia) |
348
+ | `phonetisaurus` | WFST grapheme-to-phoneme through a trained FST the caller supplies (phonetisaurus). Training also needs `libquadmath0` on the host: see below |
349
+
350
+ ### The `phonetisaurus` extra and its libraries
351
+
352
+ `pip install scriptconv[phonetisaurus]` completes, and the `phonetisaurus`
353
+ 0.3.0 wheel bundles its own executables and most of its own shared objects
354
+ (`libfst.so.13`, `libmitlm.so.1`, `libgfortran.so.3` and the OpenFST
355
+ companions) under `phonetisaurus/lib/<machine>`. The binaries find them only
356
+ through the `PATH` and `LD_LIBRARY_PATH` that `phonetisaurus.guess_environment()`
357
+ builds, which is the environment `phonetisaurus.predict` and
358
+ `phonetisaurus.train` pass to every call. A binary started with the plain
359
+ shell environment exits 127 from the dynamic loader; that is a report about
360
+ the caller, not about the box.
361
+
362
+ The apply path therefore runs out of the box, and this wrapper only applies a
363
+ model. One object is NOT bundled:
364
+
365
+ | Missing object | Needed by | Where it comes from |
366
+ |---|---|---|
367
+ | `libquadmath.so.0` | `estimate-ngram`, and so `phonetisaurus.train` | the GCC runtime: package `libquadmath0` on Debian and Ubuntu |
368
+
369
+ So a box without `libquadmath0` can phonemize with a model it is given, and
370
+ cannot train one.
371
+
372
+ `model=` is required and scriptconv never downloads: see `MODEL_SOURCES` on
373
+ the class, or train a model with `phonetisaurus.train` from a lexicon such as
374
+ CMUdict.
375
+
376
+ `tests/test_phonemizers_phonetisaurus_engine.py` is the real-engine cell. It
377
+ runs the same word through the engine at `nbest=1` and `nbest=2` and checks
378
+ the wrapper returns the engine's own best-ranked line both times. It skips,
379
+ and names the loader error or the missing model, when the engine cannot run.
380
+ Set `SCRIPTCONV_PHONETISAURUS_MODEL` to a trained FST to run it.
348
381
 
349
382
  ## Licensing
350
383
 
@@ -0,0 +1,143 @@
1
+ """Vendored Kabyle grapheme-to-phoneme rules from agbalu/Matoub-82M.
2
+
3
+ Source: https://huggingface.co/agbalu/Matoub-82M, file ``tokenization_matoub.py``
4
+ at revision ``3d00056f3663d4d1d364e9b12c21230685a0ba9a``, sha256
5
+ ``c95fdf4bd23efa649287662a0059d9053d17c8cab4fade383784e084cc422416``, the value
6
+ the model's own ``export.stats.json`` records for that file. Licence Apache-2.0,
7
+ the same licence this repository uses. See ``LICENSE.md`` beside this file.
8
+
9
+ Only the rule functions are kept. The upstream ``MatoubTokenizer`` class is
10
+ dropped: it subclasses ``transformers.PreTrainedTokenizer``, and scriptconv
11
+ emits phoneme strings, not model ids. The ``vocab.json`` constant goes with it.
12
+ The rules themselves are unchanged, because a caller that feeds Matoub-82M needs
13
+ the exact string that model was fitted on.
14
+
15
+ The upstream file states that these rules are a copy of ``agbalu.tts.g2p`` and
16
+ ``agbalu.tts.kokoro``, kept in step by a test in that project. This copy is one
17
+ step further away, so ``tests/test_phonemizers_matoub_kab.py`` holds it to
18
+ measured outputs.
19
+ """
20
+
21
+ from __future__ import annotations
22
+
23
+ import re
24
+ from typing import Final
25
+
26
+
27
+ VOWELS: Final = frozenset("aeiou")
28
+
29
+ BACKING_TRIGGERS: Final = frozenset("ḍṣṭẓṛqɣx")
30
+
31
+ SPIRANTS: Final[dict[str, tuple[str, str]]] = {
32
+ "b": ("β", "b"),
33
+ "d": ("ð", "d"),
34
+ "g": ("ʝ", "ɡ"),
35
+ "k": ("ç", "k"),
36
+ "t": ("θ", "t"),
37
+ "ḍ": ("ðˤ", "dˤ"),
38
+ }
39
+
40
+ PLAIN: Final[dict[str, str]] = {
41
+ "a": "æ",
42
+ "c": "ʃ",
43
+ "e": "ə",
44
+ "f": "f",
45
+ "h": "h",
46
+ "i": "i",
47
+ "j": "ʒ",
48
+ "l": "l",
49
+ "m": "m",
50
+ "n": "n",
51
+ "o": "o",
52
+ "p": "p",
53
+ "q": "q",
54
+ "r": "r",
55
+ "s": "s",
56
+ "u": "u",
57
+ "v": "v",
58
+ "w": "w",
59
+ "x": "χ",
60
+ "y": "j",
61
+ "z": "z",
62
+ "č": "t͡ʃ",
63
+ "ǧ": "d͡ʒ",
64
+ "ɛ": "ʕ",
65
+ "ɣ": "ʁ",
66
+ "ḥ": "ħ",
67
+ "ṛ": "rˤ",
68
+ "ṣ": "sˤ",
69
+ "ṭ": "tˤ",
70
+ "ẓ": "zˤ",
71
+ }
72
+
73
+ NASAL_ASSIMILATION: Final[dict[str, str]] = {"f": "m", "m": "m", "y": "ɲ", "q": "ŋ", "x": "ŋ"}
74
+
75
+ FOLD: Final[dict[str, str]] = {"t͡ʃ": "ʧ", "d͡ʒ": "ʤ"}
76
+ """Tie-bar sequences the base model already carries as single symbols."""
77
+
78
+ LEGACY_TENSE_T: Final = "ţ"
79
+ LENGTH: Final = "ː"
80
+ BOUNDARY: Final = " "
81
+
82
+ _SPLIT: Final = re.compile(r"[\s\-]+")
83
+ _STRIP: Final = "«»\"'“”‘’.,;:!?()[]{}…"
84
+
85
+
86
+ class PhonemeError(ValueError):
87
+ """A character with no rule."""
88
+
89
+
90
+ def _segment(word: str) -> list[tuple[str, bool]]:
91
+ segments: list[tuple[str, bool]] = []
92
+ index = 0
93
+ while index < len(word):
94
+ char = word[index]
95
+ paired = index + 1 < len(word) and word[index + 1] == char and char not in VOWELS
96
+ segments.append((char, paired))
97
+ index += 2 if paired else 1
98
+ return segments
99
+
100
+
101
+ def _backed(chars: list[str], position: int) -> bool:
102
+ before = chars[position - 1] if position > 0 else ""
103
+ after = chars[position + 1] if position + 1 < len(chars) else ""
104
+ return before in BACKING_TRIGGERS or after in BACKING_TRIGGERS
105
+
106
+
107
+ def phonemize_word(word: str) -> str:
108
+ """One orthographic word to IPA. Raises on any character without a rule."""
109
+ segments = _segment(word.casefold())
110
+ chars = [char for char, _ in segments]
111
+ out: list[str] = []
112
+ for position, (char, geminate) in enumerate(segments):
113
+ if char == LEGACY_TENSE_T:
114
+ out.append(SPIRANTS["t"][1] + LENGTH)
115
+ continue
116
+ if char in SPIRANTS:
117
+ short, stop = SPIRANTS[char]
118
+ out.append(stop + LENGTH if geminate else short)
119
+ continue
120
+ if char not in PLAIN:
121
+ message = f"no rule for {char!r} (U+{ord(char):04X}) in {word!r}"
122
+ raise PhonemeError(message)
123
+ if char == "a" and _backed(chars, position):
124
+ symbol = "ɑ"
125
+ elif char == "n" and not geminate and position + 1 < len(chars):
126
+ symbol = NASAL_ASSIMILATION.get(chars[position + 1], PLAIN["n"])
127
+ else:
128
+ symbol = PLAIN[char]
129
+ out.append(symbol + LENGTH if geminate else symbol)
130
+ return "".join(out)
131
+
132
+
133
+ def fold(ipa: str) -> str:
134
+ """Rewrite tie-bar affricates onto the base model's own single symbols."""
135
+ for sequence, symbol in FOLD.items():
136
+ ipa = ipa.replace(sequence, symbol)
137
+ return ipa
138
+
139
+
140
+ def phonemize(text: str) -> str:
141
+ """A Kabyle sentence to the phoneme string the model was fitted on."""
142
+ words = [token.strip(_STRIP) for token in _SPLIT.split(text) if token.strip(_STRIP)]
143
+ return fold(BOUNDARY.join(phonemize_word(word) for word in words))
@@ -0,0 +1,62 @@
1
+ """Berber phonemizers.
2
+
3
+ Kabyle (``kab``) through the rule set that ``agbalu/Matoub-82M`` was fitted on.
4
+
5
+ This is deliberately a separate route from :class:`AfricaG2PPhonemizer`, which
6
+ also answers ``kab``. The two are different phonemizers and their output
7
+ differs, so they are not interchangeable:
8
+
9
+ =============== =========================== ==============
10
+ text africa-g2p Matoub
11
+ =============== =========================== ==============
12
+ ``taddart`` ``t a ð ð a r t`` ``θædːærθ``
13
+ ``ameqqran`` ``a m ə q q r a n`` ``æməqːræn``
14
+ ``aqcic`` ``a q ʃ i ʃ`` ``ɑqʃiʃ``
15
+ =============== =========================== ==============
16
+
17
+ africa-g2p does not spirantise the initial ``t``, writes gemination as a
18
+ doubled symbol rather than length, and does not back ``/a/`` beside a backing
19
+ consonant. A caller driving Matoub-82M needs the Matoub string: the other one
20
+ carries symbols that model has no embedding row for.
21
+ """
22
+ from typing import List
23
+
24
+ from scriptconv.phonemizers.base import BasePhonemizer
25
+ from scriptconv.phonemizers.enums import Alphabet
26
+
27
+
28
+ class MatoubKabylePhonemizer(BasePhonemizer):
29
+ """Kabyle Latin orthography to the IPA string ``agbalu/Matoub-82M`` reads.
30
+
31
+ The rules are vendored under ``_vendored/matoub_kab`` (Apache-2.0, the same
32
+ licence as this repository) and need nothing outside the standard library.
33
+
34
+ The rules raise on a character they have no rule for, and that is kept on
35
+ purpose. The upstream file records that silent deletion already cost three
36
+ Kabyle consonants once, so an unknown symbol is reported rather than
37
+ dropped.
38
+ """
39
+
40
+ _LANGS: List[str] = ["kab"]
41
+
42
+ def __init__(self):
43
+ super().__init__(Alphabet.IPA)
44
+
45
+ @classmethod
46
+ def supported_langs(cls) -> List[str]:
47
+ return list(cls._LANGS)
48
+
49
+ @classmethod
50
+ def get_lang(cls, target_lang: str) -> str:
51
+ """Validate *target_lang* against the one language these rules cover.
52
+
53
+ Raises:
54
+ ValueError: if the language code is not Kabyle.
55
+ """
56
+ return cls.match_lang(target_lang, cls._LANGS)
57
+
58
+ def phonemize_string(self, text: str, lang: str = "kab") -> str:
59
+ self.get_lang(lang)
60
+ from scriptconv.phonemizers._vendored.matoub_kab import phonemize
61
+
62
+ return phonemize(text)
@@ -86,3 +86,4 @@ class Phonemizer(str, Enum):
86
86
  ORTHOGRAPHY2IPA = "orthography2ipa" # multilingual data-driven IPA (o2i lattice)
87
87
  AFRICA_G2P = "africa_g2p" # rule-based G2P for 400+ African languages (native units or IPA)
88
88
  GHANA_G2P = "ghana_g2p" # africa-g2p rules patched for 42 Ghanaian languages (native units or IPA)
89
+ MATOUB_KAB = "matoub_kab" # kabyle — the rule set agbalu/Matoub-82M was fitted on
@@ -1487,9 +1487,13 @@ class PhonetisaurusPhonemizer(BasePhonemizer):
1487
1487
  * There is no language check and no ``LANG_DEFAULTS`` entry. A wrapper that
1488
1488
  cannot know its own model's language must not be any language's default.
1489
1489
 
1490
- ``phonetisaurus`` ships the binaries it drives, so no system package is
1491
- needed. Training a model needs the bundled ``estimate-ngram``, which is not
1492
- exercised here: this wrapper only applies a model.
1490
+ ``phonetisaurus`` ships the binaries it drives and the shared objects they
1491
+ link against, and ``predict`` runs them under the ``PATH`` and
1492
+ ``LD_LIBRARY_PATH`` from ``phonetisaurus.guess_environment()``. The apply
1493
+ path needs no system package. Training is the exception: ``estimate-ngram``
1494
+ also needs ``libquadmath.so.0`` from the host GCC runtime (``libquadmath0``
1495
+ on Debian and Ubuntu). Training is not exercised here: this wrapper only
1496
+ applies a model.
1493
1497
  """
1494
1498
 
1495
1499
  #: Where published FSTs come from. Documentation, never a download.
@@ -59,6 +59,7 @@ PHONEMIZER_REGISTRY: Dict[Phonemizer, Tuple[str, str, Optional[str]]] = {
59
59
  _P.ORTHOGRAPHY2IPA: (f"{_BASE}.o2ipa", "Orthography2IPAPhonemizer", "o2i"),
60
60
  # vendored (not an optional extra) -- see _vendored/africa_g2p
61
61
  _P.AFRICA_G2P: (f"{_BASE}.africa", "AfricaG2PPhonemizer", None),
62
+ _P.MATOUB_KAB: (f"{_BASE}.ber", "MatoubKabylePhonemizer", None),
62
63
  _P.GHANA_G2P: (f"{_BASE}.ghana", "GhanaG2PPhonemizer", "ghana"),
63
64
  # ported in the CJK/AR stage; registered here so no member is silently
64
65
  # unmapped — resolution raises ImportError naming the pending extra
@@ -2,7 +2,7 @@
2
2
  VERSION_MAJOR = 0
3
3
  VERSION_MINOR = 0
4
4
  VERSION_BUILD = 4
5
- VERSION_ALPHA = 31
5
+ VERSION_ALPHA = 33
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.4a31
3
+ Version: 0.0.4a33
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
@@ -483,6 +483,39 @@ The core installs with zero dependencies. Capabilities opt in:
483
483
  | `tashkeel` | Arabic diacritization for the phonemizer pipeline (text2tashkeel) |
484
484
  | `stress` | Word-stress restoration for 26 stressonnx language tags: East Slavic; Bulgarian, Macedonian, and Slovene; Latvian; Armenian; Georgian; and Turkic/Caucasian, for the phonemizer pipeline (stressonnx; not yet on PyPI) |
485
485
  | `pt` | European-Portuguese heterophonic-homograph sense diacritics for the phonemizer pipeline (bifonia) |
486
+ | `phonetisaurus` | WFST grapheme-to-phoneme through a trained FST the caller supplies (phonetisaurus). Training also needs `libquadmath0` on the host: see below |
487
+
488
+ ### The `phonetisaurus` extra and its libraries
489
+
490
+ `pip install scriptconv[phonetisaurus]` completes, and the `phonetisaurus`
491
+ 0.3.0 wheel bundles its own executables and most of its own shared objects
492
+ (`libfst.so.13`, `libmitlm.so.1`, `libgfortran.so.3` and the OpenFST
493
+ companions) under `phonetisaurus/lib/<machine>`. The binaries find them only
494
+ through the `PATH` and `LD_LIBRARY_PATH` that `phonetisaurus.guess_environment()`
495
+ builds, which is the environment `phonetisaurus.predict` and
496
+ `phonetisaurus.train` pass to every call. A binary started with the plain
497
+ shell environment exits 127 from the dynamic loader; that is a report about
498
+ the caller, not about the box.
499
+
500
+ The apply path therefore runs out of the box, and this wrapper only applies a
501
+ model. One object is NOT bundled:
502
+
503
+ | Missing object | Needed by | Where it comes from |
504
+ |---|---|---|
505
+ | `libquadmath.so.0` | `estimate-ngram`, and so `phonetisaurus.train` | the GCC runtime: package `libquadmath0` on Debian and Ubuntu |
506
+
507
+ So a box without `libquadmath0` can phonemize with a model it is given, and
508
+ cannot train one.
509
+
510
+ `model=` is required and scriptconv never downloads: see `MODEL_SOURCES` on
511
+ the class, or train a model with `phonetisaurus.train` from a lexicon such as
512
+ CMUdict.
513
+
514
+ `tests/test_phonemizers_phonetisaurus_engine.py` is the real-engine cell. It
515
+ runs the same word through the engine at `nbest=1` and `nbest=2` and checks
516
+ the wrapper returns the engine's own best-ranked line both times. It skips,
517
+ and names the loader error or the missing model, when the engine cannot run.
518
+ Set `SCRIPTCONV_PHONETISAURUS_MODEL` to a trained FST to run it.
486
519
 
487
520
  ## Licensing
488
521
 
@@ -25,6 +25,7 @@ scriptconv/phonemizers/__init__.py
25
25
  scriptconv/phonemizers/africa.py
26
26
  scriptconv/phonemizers/ar.py
27
27
  scriptconv/phonemizers/base.py
28
+ scriptconv/phonemizers/ber.py
28
29
  scriptconv/phonemizers/en.py
29
30
  scriptconv/phonemizers/enums.py
30
31
  scriptconv/phonemizers/eu.py
@@ -494,6 +495,7 @@ scriptconv/phonemizers/_vendored/mantoq/buck/__init__.py
494
495
  scriptconv/phonemizers/_vendored/mantoq/buck/phonetise_buckwalter.py
495
496
  scriptconv/phonemizers/_vendored/mantoq/buck/symbols.py
496
497
  scriptconv/phonemizers/_vendored/mantoq/buck/tokenization.py
498
+ scriptconv/phonemizers/_vendored/matoub_kab/__init__.py
497
499
  tests/test_arpa_stress.py
498
500
  tests/test_cangjie.py
499
501
  tests/test_cli.py
@@ -511,7 +513,9 @@ tests/test_phonemizers_cjk_ar.py
511
513
  tests/test_phonemizers_friendly_import_errors.py
512
514
  tests/test_phonemizers_ghana.py
513
515
  tests/test_phonemizers_halabi_iqra.py
516
+ tests/test_phonemizers_matoub_kab.py
514
517
  tests/test_phonemizers_phonetisaurus.py
518
+ tests/test_phonemizers_phonetisaurus_engine.py
515
519
  tests/test_phonemizers_pt_tugaphone.py
516
520
  tests/test_phonemizers_ru.py
517
521
  tests/test_readings.py
@@ -26,7 +26,8 @@ class TestEnums(unittest.TestCase):
26
26
  self.assertEqual(Alphabet.XSAMPA.value, "x-sampa")
27
27
  self.assertEqual(Alphabet.VOSK.value, "vosk")
28
28
  self.assertEqual(Phonemizer.GHANA_G2P.value, "ghana_g2p")
29
- self.assertEqual(len(list(Phonemizer)), 47) # +HALABI, +IQRA, +GHANA_G2P, +PHONETISAURUS
29
+ self.assertEqual(Phonemizer.MATOUB_KAB.value, "matoub_kab")
30
+ self.assertEqual(len(list(Phonemizer)), 48) # +HALABI, +IQRA, +GHANA_G2P, +PHONETISAURUS, +MATOUB_KAB
30
31
  self.assertEqual(len(list(Alphabet)), 23) # incl. HALABI, VOSK, AFRICA_G2P
31
32
 
32
33
 
@@ -0,0 +1,137 @@
1
+ """The Matoub Kabyle route: it phonemizes, and it is not the africa-g2p route."""
2
+ import ast
3
+ import pathlib
4
+ import sys
5
+ import tempfile
6
+ import unittest
7
+
8
+ from scriptconv.phonemizers import ber as _ber_module
9
+ from scriptconv.phonemizers._vendored import matoub_kab as _vendored_module
10
+ from scriptconv.phonemizers.ber import MatoubKabylePhonemizer
11
+ from scriptconv.phonemizers.enums import Alphabet, Phonemizer
12
+ from scriptconv.phonemizers.registry import PHONEMIZER_REGISTRY, get_phonemizer
13
+
14
+ _VENDORED = pathlib.Path(_vendored_module.__file__)
15
+ _BER = pathlib.Path(_ber_module.__file__)
16
+
17
+
18
+ def _import_roots(path):
19
+ """Root module of every import statement in *path*.
20
+
21
+ Relative imports are skipped: they cannot reach outside the package.
22
+ """
23
+ roots = set()
24
+ for node in ast.walk(ast.parse(path.read_text(encoding="utf-8"))):
25
+ if isinstance(node, ast.Import):
26
+ roots.update(alias.name.split(".")[0] for alias in node.names)
27
+ elif isinstance(node, ast.ImportFrom) and not node.level and node.module:
28
+ roots.add(node.module.split(".")[0])
29
+ return roots
30
+
31
+
32
+ def _tmp_module(source):
33
+ handle = tempfile.NamedTemporaryFile("w", suffix=".py", delete=False,
34
+ encoding="utf-8")
35
+ with handle:
36
+ handle.write(source)
37
+ return pathlib.Path(handle.name)
38
+
39
+
40
+ # Measured against the reference rules in agbalu/Matoub-82M
41
+ # tokenization_matoub.py at revision 3d00056f, on 2026-09-25.
42
+ REFERENCE = {
43
+ "taddart": "θædːærθ",
44
+ "ameqqran": "æməqːræn",
45
+ "azul fell awen": "æzul fəlː æwən",
46
+ "tamurt n leqbayel": "θæmurθ n ləqβæjəl",
47
+ "aqcic yecca aɣrum": "ɑqʃiʃ jəʃːæ ɑʁrum",
48
+ }
49
+
50
+
51
+ class TestMatoubKabyle(unittest.TestCase):
52
+ def setUp(self):
53
+ self.p = MatoubKabylePhonemizer()
54
+
55
+ def test_phonemizes_real_words(self):
56
+ for text, expected in REFERENCE.items():
57
+ with self.subTest(text=text):
58
+ self.assertEqual(self.p.phonemize_string(text, "kab"), expected)
59
+
60
+ def test_the_rules_that_make_this_route_its_own(self):
61
+ # Each assertion is one rule africa-g2p does not apply. If these ever
62
+ # start matching africa-g2p, the two routes have been conflated.
63
+ # spirantisation: t -> θ, b -> β, d -> ð
64
+ self.assertEqual(self.p.phonemize_string("tamurt", "kab"), "θæmurθ")
65
+ # gemination is length on the restored stop, not a doubled symbol
66
+ self.assertEqual(self.p.phonemize_string("taddart", "kab"), "θædːærθ")
67
+ self.assertNotIn("ðð", self.p.phonemize_string("taddart", "kab"))
68
+ # /a/ backs to ɑ beside a backing consonant, and stays æ otherwise
69
+ self.assertTrue(self.p.phonemize_string("aqcic", "kab").startswith("ɑ"))
70
+ self.assertTrue(self.p.phonemize_string("azul", "kab").startswith("æ"))
71
+
72
+ def test_registry_entry_resolves(self):
73
+ self.assertIn(Phonemizer.MATOUB_KAB, PHONEMIZER_REGISTRY)
74
+ module, name, extra = PHONEMIZER_REGISTRY[Phonemizer.MATOUB_KAB]
75
+ self.assertEqual(name, "MatoubKabylePhonemizer")
76
+ # no extra: the rules are vendored and need only the standard library
77
+ self.assertIsNone(extra)
78
+ self.assertIsInstance(get_phonemizer(Phonemizer.MATOUB_KAB),
79
+ MatoubKabylePhonemizer)
80
+
81
+ def test_emits_ipa_and_chunks(self):
82
+ self.assertEqual(self.p.alphabet, Alphabet.IPA)
83
+ self.assertEqual(self.p.phonemize("azul", "kab"), [["æ", "z", "u", "l"]])
84
+
85
+ def test_only_kabyle(self):
86
+ self.assertEqual(MatoubKabylePhonemizer.supported_langs(), ["kab"])
87
+ for other in ("eng", "fra", "ber"):
88
+ with self.subTest(lang=other):
89
+ with self.assertRaises(ValueError):
90
+ self.p.phonemize_string("azul", other)
91
+
92
+ def test_an_unknown_character_raises_and_is_never_dropped(self):
93
+ # The upstream file records that silent deletion cost three Kabyle
94
+ # consonants once. A symbol with no rule must be reported.
95
+ with self.assertRaises(ValueError):
96
+ self.p.phonemize_string("aβc", "kab")
97
+
98
+ def test_the_vendored_rules_need_no_third_party_import(self):
99
+ # Read the property off the source, not off sys.modules. An earlier
100
+ # form of this test asserted that "transformers" and "torch" were
101
+ # absent from sys.modules; neither is installed, so the assertion was
102
+ # true before the module was imported at all, and adding
103
+ # `import packaging` to the vendored file left it passing.
104
+ #
105
+ # The property is load-bearing: it is why the registry row carries
106
+ # extra=None, and why the rules are vendored instead of depended on. A
107
+ # convenience import added later would keep get_phonemizer working on
108
+ # the machine that added it and fail as an ImportError on a user
109
+ # install.
110
+ for path in (_VENDORED, _BER):
111
+ with self.subTest(path=path.name):
112
+ for root in _import_roots(path):
113
+ self.assertTrue(
114
+ root in sys.stdlib_module_names or root == "scriptconv",
115
+ f"{path.name} imports {root!r}, which is neither the "
116
+ f"standard library nor scriptconv itself; the registry "
117
+ f"row advertises this backend as needing no extra")
118
+
119
+ def test_that_import_check_fails_on_a_planted_third_party_import(self):
120
+ # The control. Without it the check above could be vacuous for a new
121
+ # reason: a parser that collects nothing also reports nothing.
122
+ planted = _tmp_module("import packaging\nimport re\n")
123
+ self.assertEqual(_import_roots(planted), {"packaging", "re"})
124
+ self.assertNotIn("packaging", sys.stdlib_module_names)
125
+ # and a clean module yields only allowed roots
126
+ clean = _tmp_module("import re\nfrom typing import Final\n")
127
+ self.assertEqual(_import_roots(clean), {"re", "typing"})
128
+
129
+ def test_the_import_reader_sees_the_real_files(self):
130
+ # A reader that silently found no imports would make the check above
131
+ # pass for the wrong reason, so pin what it actually collects.
132
+ self.assertIn("re", _import_roots(_VENDORED))
133
+ self.assertIn("scriptconv", _import_roots(_BER))
134
+
135
+
136
+ if __name__ == "__main__":
137
+ unittest.main()