المصحف العثماني Othman Quran Browser

Posted by Anas R. on May 19, 2015 in Desktop Applications |

يتكون برنامج المصحف العثماني Othmam Quran Browser، والذي يحمل الاسم othman في مستودعات لينكس الرسمية، من مكونين رئيسيين:

  • النص القرآني: مخزن كقاعدة بيانات بصيغة SQLite على المسار:
    /usr/share/othman/quran.db.
  • واجهة الاستخدام.

مراجعتنا للبرنامج ستتناول كلاً من المكونين على حدة.

المحتوى (النص القرآني)

حين تنقر على زر النسخ في البرنامج لنسخ آية أو مجموعة محددة من الآيات، يخيِّرك البرنامج عادة بين تصدير النص بصيغته الأصلية (بالرسم العثماني)، أو تصديره بالرسم الإملائي المعهود. بالطبع الفوارق الإملائية بين الرسمين واضحة ومعروفة، ولكن البرنامج يفرض المزيد من الفوارق بين الرسمين، حيث تختفي في النص المصدَّر بالرسم الإملائي العناصرُ التالية:

  • رموز الأجزاء والأحزاب وأجزاء الأحزاب والسجدات.
  • علامات الوقف (ﷰ، ﷱ، ج).
  • أرقام الآيات ورمز رأس الآية ۝ (الشكل الدائري المزخرف الذي يحيط برقم الآية).

أقترح أن تكون الفوارق على النحو التالي:

  • إلغاء رموز الأجزاء والأحزاب وأجزاء الأحزاب والسجدات (كالعادة).
  • استبدال علامتي الوقف (ﷱ: القطع أولى) و(ج: جواز الوقف) بالفاصلة (،)، وعلامة الوقف (ﷰ: الوصل أولى) بالفاصلة المنقوطة (؛). أعتقد أن هذه المسألة بحاجة للتقييم من الناحية الشرعية.
  • الإبقاء على أرقام الآيات ورمز رأس الآية ۝.

علاوة على ذلك، ينبغي أن يتضمن النص الناتج —في كلتا الحالتين: الرسم العثماني والرسم الإملائي— العنصرين التاليين:

  • القوسين المزخرفين ﴿﴾ محِيطَين بالنص الناتج.
  • اسم السورة، بعد قوس الإغلاق، محصوراً بقوسين مربعين.

على سبيل المثال، لو أردتَ تصدير الآية 35 من سورة النور بالرسم العثماني، ينبغي أن يكون الناتج على النحو التالي:

﴿۞ ٱللَّهُ نُورُ ٱلسَّمَـٰوَٰتِ وَٱلۡأَرۡضِ‌ۚ مَثَلُ نُورِهِۦ كَمِشۡكَوٰةِِ فِيهَا مِصۡبَاحٌ‌ۖ ٱلۡمِصۡبَاحُ فِى زُجَاجَةٍ‌ۖ ٱلزُّجَاجَةُ كَأَنَّهَا كَوۡكَبُُ دُرِّىُُّ يُوقَدُ مِن شَجَرَةِِ مُّبَـٰرَكَةِِ زَيۡتُونَةِِ لَّا شَرۡقِيَّةِِ وَلَا غَرۡبِيَّةِِ يَكَادُ زَيۡتُهَا يُضِىٓءُ وَلَوۡ لَمۡ تَمۡسَسۡهُ نَارُُ‌ۚ نُّورٌ عَلَىٰ نُورِِ‌ۗ يَهۡدِى ٱللَّهُ لِنُورِهِۦ مَن يَشَآءُ‌ۚ وَيَضۡرِبُ ٱللَّهُ ٱلۡأَمۡثَـٰلَ لِلنَّاسِ‌ۗ وَٱللَّهُ بِكُلِّ شَىۡءٍ عَلِيمُُ ۝٣٥‌﴾ [النور]

أما لو قررت تصديرها بالرسم الإملائي، فينبغي أن يكون الناتج على النحو التالي:

﴿اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ، مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ؛ الْمِصْبَاحُ فِي زُجَاجَةٍ؛ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِنْ شَجَرَةٍ مُبَارَكَةٍ زَيْتُونَةٍ لَا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ، نُورٌ عَلَى نُورٍ، يَهْدِي اللَّهُ لِنُورِهِ مَنْ يَشَاءُ، وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ، وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ ۝٣٥‌﴾ [النور]

كما تلاحظ، اختلف الرسم الإملائي هنا عن الرسم العثماني بما يلي:

  • إلغاء رموز الأجزاء والأحزاب وأجزاء الأحزاب والسجدات.
  • استبدال علامتي الوقف (ﷱ: القطع أولى) و(ج: جواز الوقف) بالفاصلة (،)، وعلامة الوقف (ﷰ: الوصل أولى) بالفاصلة المنقوطة (؛).

أما الثوابت التي بقيت في الرسمين فهي:

  • القوسين المزخرفين ﴿﴾.
  • رمز رأس الآية ۝.
  • اسم السورة، بعد قوس الإغلاق، محصوراً بقوسين مربعين.

تجدر الإشارة هنا إلى أن الخط المستخدم في البرنامج، وهو Simplified Naskh، يعاني من مشكلة رئيسية في التعامل مع النص القرآني، وهي أنه لا يُظهِر رقم الآية ضمن رمز رأس الآية ۝، خلافاً لـ الخط الأميري الذي يؤدي هذه المهمة على أتم وجه، كما أن نسخة الخط الأميري من القوسين المزخرفين ﴿﴾ الذَين يستخدمان عادة لحصر النصوص القرآنية أفضل من مقابلتها في الخط Simplified Naskh.

الآية القرآنية ﴿إنا نحن نزلنا الذكر وإنا له لحافظون﴾، مرة بالخط  Simplified Naskh، ومرة بالخط الأميري، ويظهر فشل الخط Simplified Naskh في احتواء رقم الآية في الدائرة المخصصة لها

رأس الآية بين الخط Simplified Naskh والخط الأميري

إلا أن رمز رأس الآية في الخط Simplified Naskh أجمل من مقابله بالخط الأميري.

أخيراً، للأسف، تظهر كل آية حالياً في سطر مستقل. لا أدري أن كان ذلك مقصوداً أم هي مجرد علة في البرنامج، لكن ذلك ليس مقبولاً على كل حال. ينبغي أن تظهر الآيات تباعاً كما هي الحال في المصحف المطبوع.

الواجهة

اختزلُ الحديث عن واجهة الاستخدام باللقطة الافتراضية التالية لواجهة البرنامج، لبيان الصورة التي ينبغي أن يكون عليها:

واجهة افتراضية لبرنامج المصحف العثماني Othman Quran Browser متضمناً زاوية مخصصة لعرض نتائج البحث

تصور لواجهة برنامج المصحف العثماني Othman Quran Browser

الأوامر (الأزرار) التي تظهر على شريط الأدوات هي على النحو التالي:

  • السورة السابقة
  • اسم السورة الحالية
  • السورة التالية
  • نسخ
  • حفظ: كالنسخ، ولكن لحفظ النص الناتج في ملف.
  • طباعة: للنص المحدد، أو السورة الحالية عند عدم التحديد.
  • التكبير والتصغير: يلاحظ أن البرنامج حالياً لا يتذكر حجم الخط الذي تم اختياره في الجلسة السابقة.
  • حقل البحث: أقترح أن تسمح وظيفة البحث بالبحث عن السورة من عنوانها، مثلاً بكتابة (سورة الإخلاص) في حقل البحث يجب أن يكون المستخدم قادراً على الوصول إلى سورة الإخلاص مباشرة.

RichStyle Font 0.2

Posted by Anas R. on June 25, 2012 in Desktop Applications, RichStyle, Web Applications with Comments closed |

RichStyle font 0.2 has now more than 80 additional new icons.

Twitter logo has been updated too.

RichStyle Font 0.2

RichStyle Font 0.2

You can take a look to all these icons in this demo page, or download it.

 

Fine Typography 0.1

Posted by Anas R. on June 18, 2012 in Desktop Applications with Comments closed |

Fine Typography is sharp and clear font settings for:

  • Ubuntu font family.
  • Liberation fonts.
  • MS core fonts.

 

Fine Typography

Fine Typography

It also sets font aliases like this:

  • Sans: refers to ‘Ubuntu’ font.
  • Serif: refers to ‘Georgia’.
  • Monospace: refers to ‘Ubuntu Mono’.
  • Cursive and Fantasy: refer to ‘Elegante’.
  • Arial: refers to ‘Ubuntu’ font.
  • Traditional Arabic: refers to ‘Amiri’ font.

You can download it from here.

Icon Addressing and Naming

Posted by Anas R. on April 11, 2012 in Desktop Applications, RichStyle, Web Applications with Comments closed |

The embed fonts technology has paved a new way for web developers to represent icons using characters in the embedded fonts instead of using the regular image formats in the web, such as PNG, GIF… etc, which represents an important step for “icon addressing” in software industry.

This step coincided with another important step as important as its previous one, which is the adoption of Unicode 6.0 for a broad spectrum of visual symbols (icons) and embedding it in its table, which means providing a standard way for icon-addressing.

A few years ago, Tango Icons project have tried to set a standard for icons naming for Linux, in order to be addressed in a standard way. However, I think that Unicode 6.0 now represents a great alternative to be adopted as a standard for addressing the icons within the software process.

New icon naming specifications

New icon naming specifications

RichStyle font represents an attempt to implement the idea of ​​ icons-addressing in the web pages through the Unicode 6.0, but this project revealed a lack of some icons and visual symbols that are not addressed yet by Unicode. These icons are the ones that have a label in this demo page, the most important are: printer, image, tag, FAQ… and others.

RichStyle font represents

The Noun Project + Unicode 6.0 = RichStyle Font!

Posted by Anas R. on April 1, 2012 in RichStyle, Web Applications with Comments closed |

Finally, a set of essential icons for web pages, stored in a Unicode 6.0 font file.

RichStyle Icons Font (sample)

RichStyle Icons Font (sample)

It was developed for RichStyle project. It includes:

  • Icons from The Noun Project.
  • HTML5 Technology Icons.
    … and much more.

You can take a look to these icons in this demo page, or download it from here.

الخط الأميري

Posted by Anas R. on December 4, 2011 in Arabesque, Localization with Comments closed |

أخيراً أنجب عالم المصادر المفتوحة على يد الدكتور خالد حسني الخط العربي الذي طالما افتقده المستخدم العربي في واحة لينكس. فعلى الرغم من توفر نموذجين في بيئة لينكس حتى الآن للخط النسخي الطباعي الذي لا غنى عنه لكل (طابعة عربية)، وهما خط KacstBook من تطوير مدينة الملك عبد العزيز للعلوم والتقنية، وشهرزاد من معهد SIL، إلا أنهما ظلا دون طموحات رواد الطباعة والخط العربي، نظراً لافتقارهما للتراكبات الغنية التي طالما تغنت بها يد الخطاط العربي.

فيما يلي مقارنة بين الخطوط الثلاثة إلى جانب خط Traditional Arabic المعروف من مايكروسوفت فيما يتعلق بالتراكبات.

تراكبات الخط الأميري

تراكبات الخط الأميري

بقي أن أشير إلى أن هذا الخط لا ينطوي على أي محارف لاتينية، وهو ما يقد يربك المستخدم عند إدراج نصوص لاتينية في سياق نص عربي كتب بالخط الأميري.

3

نقاط على الحروف العربية، واقع الخط العربي في ظل عصر الحوسبة

Posted by Anas R. on November 24, 2011 in Arabesque, Localization |

لوحة فنية هادئة، متناسقة العناصر والألوان، صادفتني في مكتب أحد العاملين في حقل التصميم الفني والإعلاني، ردت إلي – على تواضعها – شيئاً من الإحساس برونق الخط العربي البديع وسحره، والذي تبدد أو كاد مع زخم التيار التقني الجارف الذي حصد فيما حصد روح الفن البشري في كثير من مناحي الحياة.

الخط العربي…

فن خلدته أوابد الحضارة الإسلامية، وازينت به جنبات المتاحف الغربية، لينتهي به المطاف أسير قوالب تقنية صماء لا روح فيها ولا حياة، تصلبت فيها شرايينه وتيبست فيها أوصاله، فغدا هو الآخر عليلاً بدائها… صورة ميتة لا نبض فيها ولا حياة! Read more…

Ideas for HTML5

Posted by Anas R. on November 14, 2011 in Web Applications with Comments closed |

These ideas are outcome of my experience in developing my project RichStyle.

A Unified Label Attribute

Think of using label="" as a unified naming attribute; as an alternative to all naming tags and attribute:

<caption> , <label>, <legend>, alt="", for="", title="", summary="".

Tile text (the mouseover-text) could be displayed using a CSS rule like this:

{ title: attr(label) | attr(accesskey) | attr(label) attr(accesskey) | none }

The standard way for label presentation is to use :before and :after pseudo elements.

Command Representation

<command> should have an href="" attribute (link attribute) as an optional attribute, since a command could be simply a link.

icon="" attribute should be deprecated in favor of CSS icon attribute, which , in turn, should have an additional value called glyph(), e.g.:

command.go_up {icon: glyph(↑)}

And just like <input>, command should accept text as a type beside “command”, “checkbox”, and “radio”:

<command type="text">

Think of “search” and “zoom” fields in a toolbar.

Time Representation

Time, as a tag, should be used as a part of a context in an article or so on, the purpose here is to give the developer enough flexibility in time presentation (time-zone, time format) using CSS.

For articles’ time-stamp, and any other embedded content like
audio, video, or image, there should be two attributes: published, and
modified (last-modification date).

time,
article:time {
	time-format: dd-mm-yyyy;
	time-zone: +5;
}

A “Window” Tag

Unlike Window object used in JavaScript, such a tag might be easily maintained and customized using CSS like this:

window {
	position: fixed;
	left: 50%;
	top: 50%;
	buttons: close || maximize || minimize;
}

Standardizing jQuery

jQuery is the most popular alternative to JavaScript, it’s a powerful “meta-language” tries to circumvent the raw-javascript limitations. I think this language should be standardized.

Isolating events from the the HTML code the way CSS does regarding presentation attributes should be enough reason for W3C to adopt it.

RichStyle Software Process

Posted by Anas R. on October 3, 2011 in Business, RichStyle, Web Applications with Comments closed |

This is a revision of a paper submitted on 27-06-2010 to the Arab Academy for Banking and Financial Sciences.

Abstract

According to ISO, in order to produce a high quality product, organization needs a high quality producing process, which means a well defined and organized process. Generally speaking, this is true in variant industries, but not in software industry, since production process in software industry is a creative process, not an industrial process, so that one can’t imagine that there are a list of input items from one side, that could produce a software product out of the other one, automatically, without any human factor involvement.

Software Engineering tries to convert software process from a creative process to an industrial process.

As a solution, an ISO-alternative standard emerged for software industry, called CMM, developed by Carnegie Mellon Software Engineering Institute (SEI). Later on it has developed and expanded its scope and cover other industries, it is called now CMMI.

Since 1987, when CMM emerged, CMM/CMMI has been always focusing on documentation. The reason is that organization doesn’t have an automated process, so, all it can do is to organize process using documents.

In fact, as one can see, CMM emerged before web era; the era in which database systems weren’t mature enough and used widely like nowadays, client/server architecture wasn’t common in business world. That’s why CMM/CMMI was always focusing on documents.

The objective of this paper is to build a software process using database, rather than document a software process using documents. Read more…

Tags: , , , , , , , , , , , , , ,

Linux vs. Windows, An Abstract View

Posted by Anas R. on September 2, 2011 in Business with Comments closed |

It’s been a while since I post a paper titled “Linux vs. Windows, Software Engineering Perspective“. Nowadays, when I call it back, I always say that the must important idea out of it was what I can call it an age-old conflict between user’s requirements and developer’s requirements.

I believe that the weight of this conflict in Windows world, comparing to it in Linux world, is the critical factor that lays out the bright Linux future.

Imagine that user’s requirements are represented by just a hot-air-balloon, and developer’s requirements are represented by the basket’s content. Take a look!

Linux vs. Windows

Linux vs. Windows

Believe me, penguin, sometimes, can fly better than a flag! :)

Copyright © 2006-2015 Linux Future All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.2.4.1, from BuyNowShop.com.

Favicon Plugin made by Alesis