Advertisement
uriid1

Replace Arabian characters

Apr 30th, 2022
950
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.44 KB | None | 0 0
  1.  
  2. --[[ Install UTF8 lib
  3. sudo luarocks install luautf8
  4. ]]
  5.  
  6. --[[ Summary
  7. Arabic \u{0600}—\u{06FF} - 225 characters
  8. Arabic Supplement \u{0750}—\u{077F} - 48 characters
  9. Arabic Extended-A \u{08A0}—\u{08FF} - 39 characters
  10. Arabic Presentation Forms-A \u{FB50}—\u{FDFF} - 688 characters
  11. Arabic Presentation Forms-B \u{FE70}—\u{FEFF} - 144 characters
  12. Rumi Numeral Symbols \u{10E60}—\u{10E7F} - 32 characters
  13. Arabic Mathematical Alphabetic Symbols \u{1EE00}—\u{1EEFF} - 143 characters
  14. ]]
  15.  
  16. -- UTF8 string lib
  17. local utf8gsub = require 'lua-utf8'.gsub
  18.  
  19. -- Function all arabian replace
  20. local replace_arabian = function(raw, rep)
  21.     return utf8gsub(raw, "[\u{0600}-\u{06FF}\u{0750}-\u{077F}\u{08A0}-\u{08FF}\u{FB50}-\u{FDFF}\u{FE70}-\u{FEFF}\u{10E60}-\u{10E7F}\u{1EE00}-\u{1EEFF}]", rep)
  22. end
  23.  
  24. -- All arabic characters
  25.  
  26. local arabic_255 = [[
  27. ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚؐؑؒؓؔؕؖؗ؛؞؟ؠءآأؤإئابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّْٕٖٜٟٓٔٗ٘ٙٚٛٝٞ٠
  28. ١٢٣٤٥٦٧٨٩٪٫٬٭ٮٯٰٱٲٳٴٵٶٷٸٹٺٻټٽپٿڀځڂڃڄڅچڇڈډڊڋڌڍڎڏڐڑڒړڔڕږڗژڙښڛڜڝڞڟڠڡڢڣڤڥڦڧڨکڪګ
  29. ڬڭڮگڰڱڲڳڴڵڶڷڸڹںڻڼڽھڿۀہۂۃۄۅۆۇۈۉۊۋیۍێۏېۑےۓ۔ەۖۗۘۙۚۛۜ۝۞ۣ۟۠ۡۢۤۥۦۧۨ۩۪ۭ۫۬ۮۯ۰۱۲۳۴۵۶۷۸۹ۺۻۼ۽۾ۿ
  30. ]]
  31.  
  32. local arabic_supplement_48 = [[
  33. ݐݑݒݓݔݕݖݗݘݙݚݛݜݝݞݟݠݡݢݣݤݥݦݧݨݩݪݫݬݭݮݯݰݱݲݳݴݵݶݷݸݹݺݻݼݽݾݿ
  34. ]]
  35.  
  36. local arabic_extended_a_39 = [[
  37. ࢠࢡࢢࢣࢤࢥࢦࢧࢨࢩࢪࢫࢬࢭࢮࢯࢰࢱࢲࢳࢴࢵࢶࢷࢸࢹࢺࢻࢼࢽࢾࢿࣀࣁࣂࣃࣄࣅࣆࣇࣈࣉ࣏࣐࣑࣒࣓࣊࣋࣌࣍࣎ࣔࣕࣖࣗࣘࣙࣚࣛࣜࣝࣞࣟ࣠࣡࣢ࣰࣱࣲࣣࣦࣩ࣭࣮࣯ࣶࣹࣺࣤࣥࣧࣨ࣪࣫࣬ࣳࣴࣵࣷࣸࣻࣼࣽࣾࣿ
  38. ]]
  39.  
  40. local arabic_presentation_forms_a_688 = [[
  41. ﭑﭒﭓﭔﭕﭖﭗﭘﭙﭚﭛﭜﭝﭞﭟﭠﭡﭢﭣﭤﭥﭦﭧﭨﭩﭪﭫﭬﭭﭮﭯﭰﭱﭲﭳﭴﭵﭶﭷﭸﭹﭺﭻﭼﭽﭾﭿﮀﮁﮂﮃﮄﮅﮆﮇﮈﮉﮊﮋﮌﮍﮎﮏﮐﮑﮒﮓﮔﮕﮖﮗﮘﮙﮚﮛﮜﮝﮞﮟﮠﮡﮢﮣﮤﮥﮦﮧﮨﮩﮪﮫﮬﮭﮮﮯﮰﮱ﮲﮳﮴﮵﮶﮷﮸﮹﮺﮻﮼﮽﮾﮿﯀﯁
  42. ﯂﯃﯄﯅﯆﯇﯈﯉﯊﯋﯌﯍﯎﯏﯐﯑﯒ﯓﯔﯕﯖﯗﯘﯙﯚﯛﯜﯝﯞﯟﯠﯡﯢﯣﯤﯥﯦﯧﯨﯩﯪﯫﯬﯭﯮﯯﯰﯱﯲﯳﯴﯵﯶﯷﯸﯹﯺﯻﯼﯽﯾﯿﰀﰁﰂﰃﰄﰅﰆﰇﰈﰉﰊﰋﰌﰍﰎﰏﰐ
  43. ﰑﰒﰓﰔﰕﰖﰗﰘﰙﰚﰛﰜﰝﰞﰟﰠﰡﰢﰣﰤﰥﰦﰧﰨﰩﰪﰫﰬﰭﰮﰯﰰﰱﰲﰳﰴﰵﰶﰷﰸﰹﰺﰻﰼﰽﰾﰿﱀﱁﱂﱃﱄﱅﱆﱇﱈﱉﱊﱋ
  44. ﱌﱍﱎﱏﱐﱑﱒﱓﱔﱕﱖﱗﱘﱙﱚﱛﱜﱝﱞﱟﱠﱡﱢﱣﱤﱥﱦﱧﱨﱩﱪﱫﱬﱭﱮﱯﱰﱱﱲﱳﱴﱵﱶﱷﱸﱹﱺﱻﱼﱽﱾﱿﲀﲁﲂﲃﲄﲅﲆﲇﲈﲉﲊﲋﲌﲍﲎﲏﲐﲑﲒﲓﲔﲕﲖﲗﲘﲙ
  45. ﲚﲛﲜﲝﲞﲟﲠﲡﲢﲣﲤﲥﲦﲧﲨﲩﲪﲫﲬﲭﲮﲯﲰﲱﲲﲳﲴﲵﲶﲷﲸﲹﲺﲻﲼﲽﲾﲿﳀﳁﳂﳃﳄﳅﳆﳇﳈﳉﳊﳋﳌﳍﳎﳏﳐﳑﳒﳓﳔﳕﳖﳗﳘﳙﳚ
  46. ﳛﳜﳝﳞﳟﳠﳡﳢﳣﳤﳥﳦﳧﳨﳩﳪﳫﳬﳭﳮﳯﳰﳱﳲﳳﳴﳵﳶﳷﳸﳹﳺﳻﳼﳽﳾﳿﴀﴁﴂﴃﴄﴅﴆﴇﴈﴉﴊﴋﴌﴍﴎﴏﴐﴑﴒﴓﴔﴕﴖﴗﴘ
  47. ﴙﴚﴛﴜﴝﴞﴟﴠﴡﴢﴣﴤﴥﴦﴧﴨﴩﴪﴫﴬﴭﴮﴯﴰﴱﴲﴳﴴﴵﴶﴷﴸﴹﴺﴻﴼﴽ﴾﴿﵀﵁﵂﵃﵄﵅﵆﵇﵈﵉﵊﵋﵌﵍﵎﵏ﵐﵑ
  48. ﵒﵓﵔﵕﵖﵗﵘﵙﵚﵛﵜﵝﵞﵟﵠﵡﵢﵣﵤﵥﵦﵧﵨﵩﵪﵫﵬﵭﵮﵯﵰﵱﵲﵳﵴﵵﵶﵷﵸ
  49. ﵹﵺﵻﵼﵽﵾﵿﶀﶁﶂﶃﶄﶅﶆﶇﶈﶉﶊﶋﶌﶍﶎﶏ﶐﶑ﶒﶓﶔﶕﶖﶗﶘﶙﶚﶛﶜﶝﶞﶟﶠﶡﶢﶣﶤﶥ
  50. ﶦﶧﶨﶩﶪﶫﶬﶭﶮﶯﶰﶱﶲﶳﶴﶵﶶﶷﶸﶹﶺﶻﶼﶽﶾﶿﷀﷁﷂﷃﷄﷅﷆﷇ﷈﷉﷊﷋﷌﷍﷎﷏﷐﷑
  51. ﷒﷓﷔﷕﷖﷗﷘﷙﷚﷛﷜﷝﷞﷟﷠﷡﷢﷣﷤﷥﷦﷧﷨﷩﷪﷫﷬﷭﷮﷯ﷰﷱﷲﷳﷴﷵﷶﷷﷸﷹﷺﷻ﷼﷽﷾﷿
  52. ]]
  53.  
  54. local arabic_presentation_forms_b_144 = [[
  55. ﹰﹱﹲﹳﹴ﹵ﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠ
  56. ﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ﻽﻾
  57. ]]
  58.  
  59. local rumi_numeral_symbols_32 = [[
  60. 𐹠𐹡𐹢𐹣𐹤𐹥𐹦𐹧𐹨𐹩𐹪𐹫𐹬𐹭𐹮𐹯𐹰𐹱𐹲𐹳𐹴𐹵𐹶𐹷𐹸𐹹𐹺𐹻𐹼𐹽𐹾𐹿
  61. ]]
  62.  
  63. local arabic_mathematical_alphabetic_symbols_256 = [[
  64. 𞸀𞸁𞸂𞸃𞸄𞸅𞸆𞸇𞸈𞸉𞸊𞸋𞸌𞸍𞸎𞸏𞸐𞸑𞸒𞸓𞸔𞸕𞸖𞸗𞸘𞸙𞸚𞸛𞸜𞸝𞸞𞸟𞸠𞸡𞸢𞸣𞸤𞸥𞸦𞸧𞸨𞸩𞸪𞸫𞸬𞸭𞸮𞸯𞸰𞸱𞸲𞸳𞸴𞸵𞸶𞸷𞸸𞸹𞸺𞸻𞸼𞸽𞸾𞸿𞹀𞹁𞹂𞹃𞹄𞹅𞹆𞹇𞹈𞹉𞹊
  65. 𞹋𞹌𞹍𞹎𞹏𞹐𞹑𞹒𞹓𞹔𞹕𞹖𞹗𞹘𞹙𞹚𞹛𞹜𞹝𞹞𞹟𞹠𞹡𞹢𞹣𞹤𞹥𞹦𞹧𞹨𞹩𞹪𞹫𞹬𞹭𞹮𞹯𞹰𞹱𞹲𞹳𞹴𞹵𞹶𞹷𞹸𞹹𞹺𞹻𞹼𞹽𞹾𞹿𞺀𞺁𞺂𞺃𞺄𞺅𞺆𞺇𞺈𞺉𞺊𞺋𞺌𞺍𞺎𞺏
  66. 𞺐𞺑𞺒𞺓𞺔𞺕𞺖𞺗𞺘𞺙𞺚𞺛𞺜𞺝𞺞𞺟𞺠𞺡𞺢𞺣𞺤𞺥𞺦𞺧𞺨𞺩𞺪𞺫𞺬𞺭𞺮𞺯𞺰𞺱𞺲𞺳𞺴𞺵𞺶𞺷𞺸𞺹𞺺𞺻𞺼𞺽𞺾𞺿𞻀𞻁𞻂𞻃𞻄𞻅𞻆𞻇𞻈𞻉𞻊𞻋𞻌𞻍𞻎𞻏𞻐𞻑𞻒𞻓𞻔𞻕𞻖𞻗𞻘𞻙𞻚𞻛𞻜𞻝𞻞𞻟𞻠𞻡𞻢𞻣𞻤𞻥𞻦𞻧𞻨𞻩𞻪𞻫𞻬𞻭𞻮𞻯𞻰𞻱𞻲𞻳𞻴𞻵𞻶𞻷𞻸𞻹𞻺𞻻𞻼𞻽𞻾𞻿
  67. ]]
  68.  
  69. -- local result = ""
  70. -- local count = 0
  71. -- for py = 0, 0xF do
  72. --  for px = 0, 0xF do
  73. --      count = count + 1
  74. --          result = result .. string.format("\\u{1EE%x%x}", py, px)
  75. --      end
  76. -- end
  77.  
  78. -- print(result)
  79. -- print(count)
  80.  
  81.  
  82. --- Test
  83. print( "arabic_255", replace_arabian(arabic_255, "?") )
  84. print( "arabic_supplement_48", replace_arabian(arabic_supplement_48, "?") )
  85. print( "arabic_extended_a_39", replace_arabian(arabic_extended_a_39, "?") )
  86. print( "arabic_presentation_forms_a_688", replace_arabian(arabic_presentation_forms_a_688, "?") )
  87. print( "arabic_presentation_forms_b_144", replace_arabian(arabic_presentation_forms_b_144, "?") )
  88. print( "rumi_numeral_symbols_32", replace_arabian(rumi_numeral_symbols_32, "?") )
  89. print( "arabic_mathematical_alphabetic_symbols_256", replace_arabian(arabic_mathematical_alphabetic_symbols_256, "?") )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement