diff --git a/Makefile b/Makefile
index 6f3b0b8..d77ca00 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,5 @@
+VERSION=$(shell python3 src/lilak.py -v)
+
all: hunspell build test
hunspell:
@@ -12,15 +14,30 @@ test:
extensions:
# mozila xpi
- rm -rf ./build/mozile ./build/fa-IR-dictionary.xpi
- mkdir -p ./build/mozile ./build/mozile/dictionaries ./build/mozile/icons
- cp ./LICENSE ./build/mozile/LICENSE
- cp ./icon.png ./build/mozile/icon.png
- cp ./README_fa_IR.txt ./build/mozile/dictionaries/README_fa_IR.txt
- cp ./build/fa-IR.dic ./build/mozile/dictionaries/fa-IR.dic
- cp ./build/fa-IR.aff ./build/mozile/dictionaries/fa-IR.aff
- echo '{ "manifest_version": 2, "dictionaries": { "fa-IR": "dictionaries/fa-IR.dic" }, "applications": { "gecko": { "id": "fa-IR@dictionaries.addons.mozilla.org" } }, "name": "Lilak", "version": "3.2", "description": "Lilak, Persian Spell Checking Dictionary" }' > ./build/mozile/manifest.json
- cd ./build/mozile && zip -r ../fa-IR-dictionary.xpi *
+ rm -rf ./build/mozila ./build/fa-IR-dictionary.xpi
+ mkdir -p ./build/mozila
+ cp ./build/fa-IR.dic ./build/mozila/fa-IR.dic
+ cp ./build/fa-IR.aff ./build/mozila/fa-IR.aff
+ cp ./LICENSE ./build/mozila/LICENSE
+ cp ./icon.png ./build/mozila/icon.png
+ cp ./src/data/README_fa_IR.txt ./build/mozila/README_fa_IR.txt
+ cp ./src/data/manifest.json ./build/mozila/manifest.json
+ sed -i 's/%VER%/$(VERSION)/g' ./build/mozila/manifest.json
+ cd ./build/mozila && zip -r ../fa-IR-dictionary.xpi *
+
+ # LibreOffice oxt
+ rm -rf ./build/libre ./build/fa-IR-dictionary.oxt
+ mkdir -p ./build/libre ./build/libre/META-INF
+ cp ./build/fa-IR.dic ./build/libre/fa-IR.dic
+ cp ./build/fa-IR.aff ./build/libre/fa-IR.aff
+ cp ./LICENSE ./build/libre/LICENSE
+ cp ./icon.png ./build/libre/icon.png
+ cp ./src/data/META-INF/manifest.xml ./build/libre/META-INF/manifest.xml
+ cp ./src/data/README_fa_IR.txt ./build/libre/README_fa_IR.txt
+ cp ./src/data/dictionaries.xcu ./build/libre/dictionaries.xcu
+ cp ./src/data/description.xml ./build/libre/description.xml
+ sed -i 's/%VER%/$(VERSION)/g' ./build/libre/description.xml
+ cd ./build/libre && zip -r ../fa-IR-dictionary.oxt *
# chromium bdic
rm -rf ~/chromium ~/depot_tools;
diff --git a/src/data/META-INF/manifest.xml b/src/data/META-INF/manifest.xml
new file mode 100644
index 0000000..45f84c6
--- /dev/null
+++ b/src/data/META-INF/manifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/README_fa_IR.txt b/src/data/README_fa_IR.txt
similarity index 100%
rename from README_fa_IR.txt
rename to src/data/README_fa_IR.txt
diff --git a/src/data/description.xml b/src/data/description.xml
new file mode 100644
index 0000000..07b85cb
--- /dev/null
+++ b/src/data/description.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+ Lilak, Persian Spell Checking Dictionary
+ لیلک، غلط یاب فارسی
+
+
+
+
+
+
+
+
+ Mostafa Sedaghat Joo
+
+
diff --git a/src/data/dictionaries.xcu b/src/data/dictionaries.xcu
new file mode 100644
index 0000000..fb25768
--- /dev/null
+++ b/src/data/dictionaries.xcu
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ %origin%/fa-IR.aff %origin%/fa-IR.dic
+
+
+ DICT_SPELL
+
+
+ fa-IR
+
+
+
+
+
+
+
diff --git a/src/data/manifest.json b/src/data/manifest.json
new file mode 100644
index 0000000..f833b9a
--- /dev/null
+++ b/src/data/manifest.json
@@ -0,0 +1,17 @@
+{
+ "manifest_version": 2,
+ "dictionaries": {
+ "fa-IR": "fa-IR.dic"
+ },
+ "applications": {
+ "gecko": {
+ "id": "fa-IR@dictionaries.addons.mozilla.org"
+ }
+ },
+ "icons": {
+ "48": "icon.png"
+ },
+ "name": "Lilak",
+ "version": "%VER%",
+ "description": "Lilak, Persian Spell Checking Dictionary"
+}
\ No newline at end of file
diff --git a/src/data/package-description.txt b/src/data/package-description.txt
new file mode 100644
index 0000000..294c2f2
--- /dev/null
+++ b/src/data/package-description.txt
@@ -0,0 +1,4 @@
+Lilak, Persian Spell Checking Dictionary
+
+Lilak is an open source project for generating Persian dictionary for hunspell spell checker based on Persian Morphology.
+This dictionary is free and the source is available under Apache License Version 2.0.
diff --git a/src/lilak.py b/src/lilak.py
index bad1bfd..8082506 100644
--- a/src/lilak.py
+++ b/src/lilak.py
@@ -35,7 +35,7 @@
import datetime
import argparse
-VERSIAN = '3.2'
+VERSIAN = '3.3'
DEBUG = 1 # set to 1 to generate a debug output file
ZWNJ = '\u200C'
@@ -732,6 +732,7 @@ def pars_main_dic(self):
parser.add_argument("-m", "--mode", help="Run mode")
parser.add_argument("-i", "--input", help="input lexicon file")
parser.add_argument("-o", "--output", help="input dictionary file")
+ parser.add_argument('-v', '--version', action='version', version=VERSIAN)
args = parser.parse_args()
if args.mode == 'tihu':
diff --git a/test/result.log b/test/result.log
index b5ef705..3239b57 100644
--- a/test/result.log
+++ b/test/result.log
@@ -1,6 +1,6 @@
../test/text1
-*یکیشان: کیشان, یکیشان, شیکیان, یکمشان, یکانشان, یکسانشان, نوکیششان
-*فرنگیمان: فرنگمان, فرنگیسمان, فرنگیسان, فرهنگیانمان, فرانگیریم, فرانگیرم, فرنگان
+*یکیشان: کیشان, یکیشان, شیکیان, یکمشان, یکانشان, یکسانشان
+*فرنگیمان: فرنگمان, فرنگیسمان, فرنگیسان, فرانگیریم, فرهنگیانمان, فرانگیرم, فرنگان
*هو: خو, و, هوی, هیو, یهو, هوا, هون, هود, همو, هور, هوو, هوس, سهو, هوش, هول
*پیشش: پیسش, پیش, پشش, پریشش, پویشش, پیشکش, پیچشش, پیشی, پینش, نیشش, دیشش, میشش, پیرش, پرشش, ریشش
*شوفتهی: شفتهی, شیفتهی, روفتهی, شکفتهی, کوفتهی
@@ -28,7 +28,7 @@
*ات: ان, آن, تا, لت, ادت, دات, اتم, امت, مات, اتر, هات, اتو, اوت, وات, تات
*شنگهای: شنگهای, شنگهای, نگهای, گشنهای, شنگیای, ینگهای, شنبهای, تنگهای, لنگهای, چنگهای, نگشتهای
*آجینم: آجیم, جینم, آجیانم, آجیدنم, آیینم, آجانم, آمینم, آرینم, وجینم, آجیلم, عجینم, آذینم, آئینم, آجرچینم
-*یکیشان: کیشان, یکیشان, شیکیان, یکمشان, یکانشان, یکسانشان, نوکیششان
+*یکیشان: کیشان, یکیشان, شیکیان, یکمشان, یکانشان, یکسانشان
*بغ: باغ, بغر, بغل, بغض, بی, با, بن, بد, بم, مغ, بر, به, بو, بت, بس
*هق: قه, دهق, نق, هد, دق, هم, هر, تق, سق, شق, هل, لق, زق, هک, آق
*هق: قه, دهق, نق, هد, دق, هم, هر, تق, سق, شق, هل, لق, زق, هک, آق
@@ -39,7 +39,7 @@
*قاه: قله, قه, قاهر, قاره, قمه, ماه, قره, راه, قوه, قاب, قبه, شاه, قال, قاز, گاه
*قاه: قله, قه, قاهر, قاره, قمه, ماه, قره, راه, قوه, قاب, قبه, شاه, قال, قاز, گاه
*یالله: بالله, الله, یاالله, یدالله, اللهی, والله
-*مشتلق: مقتلش, مشتاق, مشتق
+*مشتلق: مقتلش, مشتاق, مشتق, مشتمل
*هروقت: عروقت, هرودت, سروقت, آروقت
*بسم: بشم, بیم, بس, بم, سم, یبسم, بسرم, برسم, بسمه, بوسم, بستم, بتسم, تبسم, بسزم, بکسم
*خل: چل, حل, جل, هل, خب, خلی, خیل, خلا, خال, نخل, خلد, دخل, خلم, مخل, بخل
@@ -52,7 +52,7 @@
*ار: از, آز, را, لر, تر, ایر, یار, ارا, نار, دار, ارم, امر, مار, اره, اهر
*چارده: چاره, چرده, ارده, چهارده, وارده
../test/text4
-*وقاس: وقار, وگاس
+*وقاس: وقار, وگاس, وقایا
*یزگرد: برکرد, برگرد, پرگرد, یزدگرد, میزگرد, ریزگرد
*برگاشت: برگشت, برنگاشت, برگماشت, برگانت, بنگاشت, برداشت
*صلاب: صلا, صلب, صلابه, صلابت, صلیب, صواب, صلات, گلاب, کلاب, جلاب, قلاب, صلاح, صحاب, طلاب
@@ -76,7 +76,7 @@
*بازارگاه: بارگاه, بارگیرگاه
*ازین: آرین, ازنی, زانی, ازن, این, زین, زیان, نازی, امین, مزین, رزین, ازون, اوین, وزین, کزین
*ساو: سوا, سو, او, سادو, ساوه, ساتو, ساوس, ساوج, سان, ناو, داو, سام, سار, سرو, سهو
-*رانیز: رانی, رایزن, رزانی, زرانی, رانید, رانیم, رانیه, رونیز, رانیل
+*رانیز: رانی, رایزن, رزانی, زرانی, رانید, رانیم, رانیه, رونیز, رانیل, انیران
*اندرند: نادرند, اردنند, تندرند, ندرند, اندرزند, ندارند, ندراند, راندند, انارند, انورند, انبرند, بندرند, اندکند, انکرند, کندرند
*همیننگرند: همی ننگرند, همینگرند
*میروی: نیروی, میری, میوی, مروی, امیروی, منیروی, میروی, میکروی, رمیوی, میرای, مینوی, موروی, متروی, سیروی, شیروی
@@ -85,7 +85,7 @@
*کلبوی: کلیوی, کلوبی, کابوی, کلبی, کلوی, لبوی, کلمبوی
*گوپال: کوپال, گودال
*کیند: گپند, کنید, کسند, کین, کید, کند, کینید, کینند, کیدند, کیمند, کیتند, کیسند, کیشند, کیلند, کیکند
-*مازنداران: مازندران, مهمانداران, کمانداران, فرمانداران, مازمانندان
+*مازنداران: مازندران, مهمانداران, فرمانداران, میانداران, مازمانندان
*راهست: رهاست, هارست, راهت, راست, راهبست, اهرست, راسته, هراست, رایست, رانست, رادست, رامست, راهبت, رابست, راسست
*گونهتر: گونه تر, کوتهتر, گشنهتر
*گردکن: گردن, گردکان, گردان, گرمکن, گردون, سردکن, خردکن
@@ -105,7 +105,7 @@
*آیدش: ابدش, آید, یدش, آشید, آیدا, آندش, آردش, ریدش, بیدش, آیتش, سیدش, شیدش, زیدش, کیدش, قیدش
*ممانید: مماتید, مامنید, نمانید, کمانید, منانید, مکانید, مانید, مامانید, مهمانید, میانید, امانید, دمانید, رمانید, بمانید, متانید
*ازین: آرین, ازنی, زانی, ازن, این, زین, زیان, نازی, امین, مزین, رزین, ازون, اوین, وزین, کزین
-*نماندست: نمادست, نماندنست, ماندنست, نمدانست, نماندنت, نمالاندنست, نمایاندنست, نماندند, نماند
+*نماندست: نمادست, نماندنست, ماندنست, نمدانست, نماندنت, نمالاندنست, نمایاندنست, نماندند, نمادگانست
*اوست: لوست, توست, اوشت, اوت, است, وست, اویست, ایوست, اوستا, اونست, ادوست, ماوست, اوسرت, اورست, هاوست
*بباد: بیاد, بلاد, باد, بباید, ببارد, بباشد, ببالد, ببازد, ببافد, ببند, بداد, مباد, ببار, ببرد, ببود
*پدرود: بدرود, پدرو, درود, پدروی, پدرید, پدرند, ندرود, پدروم, پدروت, پدروش
@@ -142,7 +142,7 @@
*جزین: چربت, خریت, حزبت, حزین, حربت, حریت, جربت, جین, زین, جینز, جزیا, جنین, مزین, رزین, جزیه
*هرچ: هرج, هر, هچ, هرچه, چهر, هیچ, هرم, هرس, هرز, پرچ
../test/text5
-*بروناند: برونهاند, بروندیاند, برونئیاند, برونتهاند, بروندادهاند
+*بروناند: برونهاند, بروندیاند, برونتهاند, برونئیاند, بروندادهاند
../test/text6
*زینجا: زیجان, اینجا, نینجا, زینها, جایگزین
../test/text7
@@ -156,18 +156,18 @@
*آخه: آچه, آخ, آه, آخها, آخته, آخی, آیه, یخه, آخن, آخم, آخر, آره, آبه, آخت, آخش
../test/text8
*بارگانِ: بارکان, یارکان, پارکان, باران, باگان, برگان, ارگان, بارگیان, بازرگان, باکرگان, بایگان, بانگان, نارگان, بارمان, بارگاه
-*میبیند: میبیند, مبینید, میبدند, میویند, میبینند
-*میبیند: میبیند, مبینید, میبدند, میویند, میبینند
+*میبیند: میبیند, مبینید, میبدند, میویند, میبینند, بیند
+*میبیند: میبیند, مبینید, میبدند, میویند, میبینند, بیند
*میسراید: میسرید, میسراید, میسرایید, سراییدم, سرایدارید, سراییدیم
*قلاعِ: قلع, عقلا, قلان, قلاب, قلات, قلاش, قطاع
-*کاندران: کندران, اندرکاران, کاندر, ندراند, ندرانند
+*کاندران: کندران, اندرکاران, کاندر, دکانداران, سکانداران
*چار: خار, جاز, جار, چرا, پار, چتر, چنار, چادر, چدار, دچار, چاره, چهار, چارت, چارک, چاکر
*برمیآشوبند: برمیآشوبند, برنمیآشوبند, برهمیآشوبند, برمیآشوبد, برآشوبند
*میکوبند: میگویند, منکوبید, میکروبند, میکوبند, میخکوبند, منکوبند, مرکوبند
*میروبند: میروند, میروبند, میکروبند, میرابند, مشروبند, مضروبند, روبندند, روبند
*بیآزرم: بیآزرم, بیآزارم
*بیآیین: بیآیین, بدآیین, آیین
-*کاندران: کندران, اندرکاران, کاندر, ندراند, ندرانند
+*کاندران: کندران, اندرکاران, کاندر, دکانداران, سکانداران
*بیگونهای: بگونهای, بیگانهای, بیمارگونهای, چگونهای
*تازهرو: تازه رو
*قلّهست: قله ست, قلهات, قلهاست, قلهکست
@@ -196,7 +196,7 @@
*شاهیست: شیهاست, شایست, شاهینست, شایسته, شاهینت, شاهدست, شاهکست, ستمشاهی, ستمشاهی
*زمیری: زیمری, زمری, زیری, میری, ازمیری, زیریم, زایری, امیری, زمینی, نمیری, زبیری, بمیری, سمیری, زفیری, خمیری
*میخواهیم: میخواهیم, میخواریم, میخواهی, خواهیم
-*میمالیم: میمالیم, میمالیدیم, گالیمیمیم, مالیم, هیمالیایم
+*میمالیم: میمالیم, پایمالیم, میمالیدیم, گالیمیمیم, مالیم
*میگوئیم: میگوییم, میگویم
*آنک: انگ, آن, نک, آنکه, آنکس, آنی, آنا, آند, آرک, رنک, آهک, ونک, بنک, آنت, تنک
*شیرینکار: شیرینکاری, شیرینکار, شیرینکام
@@ -204,7 +204,7 @@
*۱۳۳۶:
../test/text9
*تکبیرة: تکبیرت, تکبیر, تکبیری, تکبیرم, تکبیرش
-*الاحرام: احرامم, احرام
+*الاحرام: الاهرام, احرامم, احرام
*تننا: تنان, نتان, تانن, تمنا, تنگنا, تینا, تانا, تنند, تنها
*ها: هل, های, هان, هدا, دها, هما, هار, رها, هوا, بها, هات, سها, هال, هاگ, هجا
*هو: خو, و, هوی, هیو, یهو, هوا, هون, هود, همو, هور, هوو, هوس, سهو, هوش, هول
@@ -216,7 +216,7 @@
*–: و, ز
*۱۳۴۳:
../test/text10
-*ببریدهاند: بریدهاند, باریدهاند, نبریدهاند, برندمیدهاند, برچیدهاند, برجهیدهاند, برنچیدهاند
+*ببریدهاند: بریدهاند, باریدهاند, نبریدهاند, برچیدهاند, برندمیدهاند, برجهیدهاند, برنچیدهاند
*خوشحالان: خوش حالان, خوشحالان, خوشالحان
*مر: رم, نر, کر, مری, مرا, مار, امر, مرد, مدر, دمر, مرم, ممر, مره, مهر, مرو
*آنکه: آن که, آنکه, آنچه