|
موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك
|
كلنا يضغط على الحرف فيظهر أمامه، فكيف تتم العملية؟
الكمبيوتر لا يحتاج لحروف اللغة (letters) بأشكالها المعتادة والمألوفة للانسان، لأنه لا يراها، ولا يحتاج لعرضها على أي وسيلة بصرية، الذي يحتاج لمشاهدتها هو ذلك الكائن الموجود بين الكرسي ولوحة المفاتيح، والترميز (coding) مجرد طريقة مناسبة لتخزين هذه الحروف في صورة أرقام في ذاكرة الكمبيوتر كأن تقول (حرف الباء ترميزه الرقم سبعة بالنظام الست عشري).
بدايات الكمبيوتر (ليس الكمبيوتر الشخصي) لم تشهد اهتماماً بمسألة العلاقة بين الانسان والآلة (man-machine interaction) حيث كان الأوائل من المهتمين مهووسين فعلاً بالأمر فكانوا يقومون بإدخال البيانات بشكلها الطبيعي (native) أي بذات الطريقة التي تخزن بها في ذاكرة الكمبيوتر أي بالنظام الست عشري (hexadecimal) فكانت هنالك لوحات مفاتيح ست عشرية كل مفتاح يساوي تماماً الرقم الست عشري المكتوب عليه فإذا ضغطت على المفتاحين (B6) يقوم الكمبيوتر بإدخال القيمة (B6) "تعادل الرقم 182" وتخزينها في الذاكرة وتحصل بذلك على صورة (image) للبيانات في الذاكرة مطابقة للارقام التي ضغطت مفاتيحها باصابعك، في مطلع الخمسينات لم تكن هنالك شاشات تبين الموجود من القيم المدخلة إلى الذاكرة وهي عملية تسمى بإعادة العرض (echoing) والمصطلح يعني إعادة عرض صورة البيانات على المستخدم "للتحقق" منها، سنعود لتفصيل هذه النقطة قريباً.
عندما كانت الذاكرات المباشرة (Dynamic RAM) عزيزة كان كل بايت يستحق ثمنه لذلك لم تكن مسألة اللغات العالمية الأخرى مطروحة ولذلك كان الاهتمام على الإنجليزية فقط فتم تخصيص بايت واحد لكل حرف من حروف اللغة فكان بذلك الحروف والعلامات الممكن ترميزها (128) فقط، فتم تنظيم حروف اللغة الإنجليزية في مصفوفة (character set) تخصص لكل حرف (حروف اللغة والأرقام التسعة وبعض العلامات) رقم مميز سمي بالرمز (code) هذه الأرقام هي التي يخزنها الكمبيوتر في ذاكرته وليس الحروف (letters) ذاتها أو أي معلومات عنها فكانت الآسكي (ASCII) بشكلها الحالي وكانت تلك أول طبقة مخفية (covert layer) تفصل بين طريقة الكمبيوتر في التخزين وطريقة الانسان في الإدخال، أنت تضغط مفتاحاً يخص الحرف فيقوم الكمبيوتر بإبداله بالرقم المقابل (الرمز) ثم تخزين الرمز (ست عشري) في الذاكرة، إبدال الحرف بالرمز يتم بواسطة لوحة المفاتيح الملحومة مع الكمبيوتر أما في حالة وجود لوحة المفاتيح العصرية المستخدمة حالياً والموصولة عبر سلك فيتم التحويل داخل الكمبيوتر لأن لوحات المفاتيح هذه ينتج عن ضغط أي مفتاح فيها شفرة وسيطة أخرى تسمى (scancode) وهي طبقة مخفية أخرى نشرحها لاحقاً، هذه العمليات تسمى إدخال البيانات بصورة عامة.
بطبيعة الحال لا بد من الاتفاق على هذه المصفوفة فإذا تغير رمز الحرف يتغير كل شيء ونحصل على فوضى صنعناها بأنفسنا ولن يتأثر الكمبيوتر أبداً، هذا الاتفاق يحدد معيار (standard) تنظيم العلاقة بين شكل حرف اللغة (character) والرمز المقابل (code) وفي أبسط صورة هو مجرد جدول ولكنه متفق عليه وهي الميزة الأهم في وضع أي عمل له علاقة بالكمبيوتر.
باتساع دائرة مستخدمي الكمبيوتر لتشمل غير المختصين كانت الشاشات الزجاجية (CRT) قد بدأت في أخذ مكانها في دنيا الكمبيوتر، فإذا أردنا كتابة جملة (my home) فلا بد من التحقق أننا أدخلناها بطريقة صحيحة أي المطلوب أن نرى صورة البيانات (image) بطريقة ما ليس الأرقام الست عشرية في الذاكرة بل حروف الجملة باللغة الإنجليزية، عليه يقوم الكمبيوتر عند الضغط على أي مفتاح (أثناء طباعة النصوص مثلاً) بعمليتين أساسيتين الأولى إدخال الحروف بشفرتها إلى ذاكرة الحاسوب وعرض (شكل الحرف) على الشاشة حتى يراه المستخدم وهذه العملية تسمى بإعادة العرض (echo) واللفظ يفيد أنك ترى صدى لما أدخلته يا انسان، العملية الأولى ضرورية لكن الثانية ليست كذلك فهي موجهة للانسان فالكمبيوتر قد خزن ما يريد بالفعل. يمكنكم فصل القدرة عن الشاشة الآن وإعادة وصلها وستجدون البيانات في مكانها.
في علم الكمبيوتر المصطلح (typography) يتعلق بوصف شكل الحرف أي صورته (glyph) وحالاته المختلفة وهو أيضاً مصطلح قديم قدم التاريخ فهو يعود إلى علم الطباعة القديمة الاسم (glyph) أحدث نسبياً، قلنا عندما نضغط على أي حرف فإنه تحدث عمليتان أساسيتان إدخال شفرة الحرف لذاكرة الكمبيوتر وعرض شكل الحرف على الشاشة، هذه العملية الثانية معقدة جداً رغم عدم أهميتها بالنسبة للكمبيوتر وهي معقدة حتى يومنا هذا سنشرح بطريقة ميسرة.
--------------- تخيلوا أن لديكم كل حروف اللغة الإنجليزية بشكلها المألوف محفورة على قطع الدومينو (نسميها "ضُمَنه" في السودان) وكل قطعة دومينو مكتوب عليها من الخلف رقم متسلسل مميز لا يتكرر قي قطعة أخرى، قلنا محفورة لأننا نقصد أنه ليس بالإمكان مسحها بسهولة، الآن تخيلوا أن الكمبيوتر هو شخص يجلس قبالتك ويحتفظ بقطع الدومينو بحيث يكون الوجه الذي عليه شكل المحفور على المنضدة فلا يرى إلا الأرقام المتسلسلة من الخلف وأنت تقول له: (قم برص القطع بالأرقام 1 و 3 و 5 بهذا الترتيب وأرنيها) فيرصها ويرفعها في وجهك بذات الترتيب الذي طلبته، هو يرى الأرقام المتسلسلة من الخلف وأنت ترى الحروف الإنجليزية المحفورة، هذه ببساطة كل العملية، الرقم المتسلسل في الخلف هو الترميز وأي من قطع الدومينو هي حرف من حروف اللغة أيا كانت. ---------------
إذا وضعنا كل قطع الدومينو الخاصة بحروف لغة معينة في علبة منفصلة فإننا نكون قد حصلنا على صفحة ترميز (code page) والطريقة التي تحدد كيفية تخصيص رقم متسلسل لقطعة دومينو تسمى (character set) أو صفحة ترميز (code page) وشكل الحرف المحفور الذي يعرفه بنو آدم يسمى (character) لاحظ أننا لم نقل (letter). إذا قدر للشخص أن يغير في أي شكل للحرف المحفور بحيث يبقى الرقم المتسلسل كما هو فإننا نحصل على كلمة مختلفة لأي تسلسل يدخل الحرف المتغير فيه وتصبح فوضى.
في الواقع أنت تضغط مفتاح على لوحة المفاتيح فيولد لاحقاً رقم شفرة وسيطة (scancode) تتغير لاحقاً لتصبح الترميز المطلوب للحرف هذه العملية تحفظ استقلال اللوحة عن الكمبيوتر فلو كانت لوحة المفاتيح تولد شفرة آسكي مباشرة لأضطر الناس لشراء لوحات مفاتيح بعدد الترميزات المتوفرة، اللوحات الحالية تولد شفرة (scancode) متفق عليها وهي ببساطة تحدد الصف والعمود الذين يحددان مكان المفتاح من لوحة المفاتيح، وبعد ذلك كل برنامج داخل الكمبيوتر يفسرها على هواه أي يعدلها للترميز المناسب للتطبيق.
للغة العربية أيضاً قطع دومينو ولكنها أكثر من قطع اللغة الإنجليزية الأساسية لأن أشكال الحروف تتغير حسب موقعها فلكل حرف عربي أربعة على الأقل وبعض الحروف اثنين فقط (مثل التاء المربوطة والألف المقصورة والهمزة) فإذا كانت الارقام المتسلسلة (1، 3، 5) التي وردت أعلاه مخصصة للحروف (ذ هـ ب) فسأحصل على الكلمة (ذهب) إذا طلبت من الشخص الذي يجلس قبالتك رصها ويجب عليه أن يعكس اتجاه العرض لأن اللغة العربية تكتب من اليمين لليسار ولهذا سميت مع اللغات التي تعتمد على حروفها بالكتابات المعقدة (complex script)،
ماذا عن الحركات؟ لا جديد هنا هي بالنسبة للكمبيوتر حروف أخرى تذكر أن الشخص الذي يجلس قبالتك لا يرى ما تراه لذلك فهو لا يتدخل في تسمية الحرف المحفور على قطع الدومينو أو شكله حرفاً كان أو رقماً أو حركة أو حتى صورة وجه.
الحركات بالنسبة للكمبيوتر هي حروف كاملة الدسم لها ترميز مثل غيرها، بالرجوع لمثال الدومينو أعلاه، تخيلوا أن قطع الدومينو الخاصة بالحركات مصنوعة من الزجاج ويعرف الشخص أن هذا النوع من القطع لا يوضع بالتجانب بل فوق القطع العادية الأخرى تماماً وبالضبط كل قطعة دومينو زجاجية توضع فوق القطعة العادية قبلها، لدينا شكل الفتحة محفور على قطعة دومينو زجاجية بالرقم المتسلسل (2) وبكمية وافرة، الآن أنت تقول للشخص: (قم برص القطع بالأرقام 1 و 2 و 3 و 2 و 5 و 2 بهذا الترتيب وأرنيها) فيضع كل قطعة زجاجية بالرقم (2) فوق التي قبلها فترى أنت الكلمة (ذَهَبَ) بالتشكيل.
لدينا الآن علبة قطع دومينو جديدة بل في الواقع لدينا أكثر (ASMO 708, DOS, ISO, Windows) وهي التسميات للاستخدام العام وكلها مخصصة للغة العربية، الأسماء المتخصصة أكثر هي (ISO8859-6, CP1256) وهي مجرد أسماء لطرق مختلفة لترقيم قطع الدومينو أي ترميزها. الأخير الخاص بمايكروسوفت يسمى (cp1256) مجرد رقم تعريفي و (cp) تعني (code page)، وهو الترميز المستخدم في صفحات هذا المنبر(سودانيزأونلاين).
الترميز كذلك هو المسؤول عن فرز الحروف وترتيبها بالشكل الذي نراه، فإذا قمنا بفرز قائمة من الأرقام تصاعدياً فإن الكمبيوتر يقوم بفرزها بناء على الترتيب العددي لرموزها بالنظام الست عشري وليس لأن شكل الرقم واحد يأتي قبل شكل الرقم اثنين، ونفس الشيء ينطبق على الحروف لا يتم الفرز بناء على (أ، ب، ت، ث) بل أيها أصغر في الرمز الست عشري، وعند فرز أسماء بلغات مختلفة فإن الحروف التي يأتي ترميزها سابقاً تظهر أشكال حروفها سابقة كذلك فالعبرية تأتي قبل العربية في الترميز ليس لأن العبرية أهم أو أن بني صهيون اعتادوا التآمر بل لأن صفحات الترميز تأتي متتابعة (cp1255 ثم cp1256) للغتين العبرية والعربية على الترتيب.
بسبب محدودية حجم صفحة الترميز كان عادة يستخدم ذات الرقم لترميز حرف من لغة أخرى ولتحري الدقة نقول مع مجموعة حروف (character set) أخرى، المشكلة كانت في محدودية الصفحة في الإدخال فقد كان (128) حرف لكل صفحة ترميز (code page) وهي تكفي للغة واحدة مع علاماتها.
بالعودة لمثالنا فسيكون علي الشخص الذي يرص الدومينو أن يحتفظ بعلب الدومينو منظمة ومرتبة لكل لغة مختلفة، لكن عليك أيضاً أن تحدد له من أي علبة تريده أن يأخذ قطعة الدومينو فتقول له (قم برص القطع بالأرقام 1 من علبة اللغة العربية و3 من علية اللغة الإنجليزية ثم 5 من العربية بهذا الترتيب وأرنيها) هذا إذا أردت أن ترى نصاً متعدد اللغات (multilingual). مثلاً (سSوUدDاAنN)
----------------------- نظام ترميز اليونيكود (Unicode) جاء بمصطلحات جديدة وحوى حتى الآن حوالي 110 ألف حرف لعدد مئة لغة مكتوبة معروفة بالإضافة إلى لغات أخرى منقرضة مثل السريانية والهيروغليفية ولغات محدودة الاستخدام مثل التمازيغت، السعة الكلية تتجاوز المليون حرف.
وقد يفكر أحدهم إن اللغات الأوروبية بمفردها تتجاوز 25 لغة وهذا صحيح ولكن اليونيكود يعنى بشكل الحرف فقط فإذا تكرر الحرف في أي لغة جاء بترميز واحد فقط لا يتكرر لذلك جمعت الحروف المشتركة في اللغات التي تستخدم الحروف العربية (الفارسي والأردو والبشتو والويغور وغيرها) ووضعت لها رموز وكذلك الحروف المشتركة بين الصينية واليابانية والكورية (CJK Unified Ideographs) وتم الاتفاق على ذلك من هيئة فيها المختصين.
------------------- الآن نأتي للتشفير (encoding) وتعريفه: "طريقة لتحويل المعلومات إلى بيانات".
جملة بسيط لكن شرحها يطول سأحاول الإيجاز، النظام الست عشري المستخدم في الترميز أعلاه يجب تحويله إلى سلاسل مرتبطة من البايتات التي تعبر عن الحروف، أين يبدأ الحرف وأين ينتهي هذا ما يحدده نوع التشفير المستخدم، باختصار يمكن باستخدام التشفير المناسب تخزين وثيقة في نصف مساحة الذاكرة التي يتطلبها تشفير آخر، وهذا تفسيره أن ترميز الحرف في التشفير الأول المختزل يشفر ببايت واحد بينما التشفير الثاني يستخدم بايتين لتخزين رمز نفس الحرف، كلمة بيانات تعني بالضبط الطريقة المثلى لحفظ البيانات في ذاكرة الكمبيوتر وفي أوساط التخزين المختلفة مثل الأقراص.
ومن ذلك أيضاً أيهما يأتي أولاً عند التخزين في الذاكرة رمز بايت الحرف الأول أم الثاني مثلاً مايكروسوفت تستخدم (Little Endian) واليونيكود أيضاً يستخدمه، وذلك يعني أن البايت الثاني الأقل قيمة يأتي أولاً في التخزين، موضوع التشفير لا علاقة له بشكل الحروف.
---------------- التشفير هو المسؤول عن ظهور الحروف بشكلها الصحيح على الشاشة، أحياناً ترون أشكالاً مثل الهيروغيلفية أو حروف صينية أو مربعات ومع ذلك لا يصدر الكمبيوتر أي أخطاء أو تنبيهات فالأمور صحيحة تماماً من جهته، الترميز صحيح والتشفير صحيح، لكنك إن لم تر الحروف العربية في صفحة الانترنت مثلاً فعليك اختيار التشفير الصحيح (يونيكود مثلا أو Arabic Windows) بحسب الوسيلة المتاحة في متصفحك.
بالعودة لمثال الدومينو السابق، لنفرض أن الشخص بعثر كل الصناديق الخاصة بقطع الدومينو بحيث استحال عليه أن يعرف موضع كل قطعة فجمعها عشوائياً في العلب، هو لا يزال يعرف الرمز أو الرقم المميز المكتوب خلف كل قطعة دومينو لذلك إن قلت له: (قم برص القطع بالأرقام 1 من علبة اللغة العربية و3 من علية اللغة الإنجليزية ثم 5 من العربية بهذا الترتيب وأرنيها) فسيختار من القطع ما يبدو له منطقياً ويعرضها عليك ولكن من جهتك لن ترى أنت سوى نصوص أو أشكال غير مفهومة، هذا ما يحدث بالضبط إذا تختر التشفير الصحيح.
------------------ نأتي لموضوع تشكيل الحرف (typography)
موضوعنا هنا يتعلق بالناحية الفنية أي بالخطوط (fonts) وتحديدا خطوط تروتايب (TrueType fonts) التي تتميز بإمكانية تعديل أحجامها (scaling) أو تجاورها (kerning)، ميزات تخصها وتتفوق بها على نوع آخر من الخطوط.
في الكمبيوتر يتم رسم الحرف على الشاشة بوصفه الهندسي أي بتتبع خطوط الكنتور التي يتبعها وذلك باستخدام معادلات الدرجة الثانية والثالثة والتي تعطي منحنى أو منحنيات بيزييه (Bezier Curve) الحرف مثلاً (o) يرسم بمعادلتين لدائرتين واحدة داخل أخرى كل ترسم في اتجاه دوران مختلف وهكذا، أشكال الكنتور هذه مسؤولة عن جمال الحروف التي تظهر على الشاشة ومسؤول عن نوع الخط المستعمل وعائلته (font family) هل هو خط ديواني أم خط النسخ أم الخط الكوفي. والخطوط مسؤولة أيضاً عن الإمالة والتلوين والتكبير والتصغير والتسطير.
الخطوط داخلياً عبارة عن جداول معلوماتية غاية في التعقيد الهندسي لذلك يتم اختزال الأشكال الرسومية للحرف ما أمكن باللجوء أحياناً لتركيب الحرف من حروف أخرى بسيطة مثلا الحرف (ث) من الحرف (ت) زائداً النقطة أو الحرف (ش) من الحرف (س) مع ثلاثة نقاط لكن هذا لا يحدث مع حروف اللغة العربية فهي لغة أبجدية محدودة عدد الحروف (28 حرف أساسي) فيتم رسم الحرف كاملاً ثم يعطى رمزاً عددياً محدداً، تحدث هذه التكتيكات مع حروف لغات شرق آسيا مثل الكورية واليابانية والصينية البسيطة، وتحدث مع حروف اللغات اللاتينية في بعض حروفها مثلاً (and#258;) وتسمى أشكال الحروف الناتجة بهذه الطريقة بالشكل المركب (composite glyph).
يتم كذلك رسم الأشكال الأخرى لحالات الحرف العربي وتعطى رموزاً منفصلة لكنها خارج النطاق الذي يمكن الوصول إليه عبر لوحة المفاتيح مباشرة ويقوم الكمبيوتر بفضل معلومات مدمجة في الخط باختيارها وإبدالها عن الحاجة لإجراء عملية العرض الصحيح للنصوص (presentation). مثلاً عندما تكتب اسم الجلالة (الله) مثلاً فإن ما يبدو لك أربعة أحرف هي في الحقيقة شكلين أو حرفيين فقط، تبدأ عملية التبديل بمجرد انتهاء الكلمة وقبل الضغط على مفتاح المسافة ويعاد تغيير الشكل المرسوم إذا كانت الكلمة المقصودة تختلف عن اسم الجلالة مثلاً (اللهم).
لمن يريد رؤية أشكال الحروف من مستخدمي برنامج (MS Word) اختيار (إدراج) من القائمة ثم (رمز) ثم اختيار الخط (Tahoma) أو (Arial Unicode MS) وسيشاهد الأشكال داخل مربعات مع ترميزها بالنظام الست عشري.
للمقارنة مع مثال قطع الدومينو، تغيير الخط في الوثيقة يماثل إبدال قطع الدومينو العاجية بقطع أخرى عليها ذات الحروف المحفورة والأرقام لكن النقوش الآن تبدو أجمل أو أكبر أو بتصميم مختلف كلياً للحرف لكنه ذات الحرف. انتهى
|
|
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
Quote: ولذلك كان الاهتمام على الإنجليزية فقط فتم تخصيص بايت واحد لكل حرف من حروف اللغة فكان بذلك الحروف والعلامات الممكن ترميزها (128) فقط،
|
الكلام دا ما صاح يا اخ حاتم، أن الحروف، والعلامات عددها المخصص لها 256 وليس 128 الـ 256 مقسمـة لقسمين، القسم الأدنى من صفر الى 127 (128) للحروف والأرقام 123...، والقسـم الأعلى من 128 الى 255 (128 أيضا) مخصص للعلامات ولبعض الأوامر مثل الإدخال والحذف.. الخ..
برضـه ما صاح إنو الحروف تحفظ في الذاكرة بالنظام الست عشري كما ذكرت، وإنما بالنظام الثنائى binary لأن هـذا هو النظام الوحيـد الذى يفهمه الكمبيوتر..
لم أتابع الموضوع لأنه ظاهر انه ليس دقيق في المعلومات ولم يكتب بصورة مهنية بواسطـة مهندس كمبيوتر.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: Abureesh)
|
أبو الريش سلام
أنا أتحدث عن الآسكي في بدايتها سنة 1972 وليس عن كم من الحروف يمكن ترميزه باستخدام بايت واحد، الآسكي كانت تستخدم سبعة بتات في بدايتها يا أبو الريش.
نعم على المكون المادي (hardware) يتم استخدام فولتيات تماثل النظام الثنائي لاستحالة استخدام غيره حالياً بطريقة عملية، لكني أتحدث عن التشفير (coding) أعنى المستوى المفهوم للبشر فوق لغة الآلة مباشرة، ولعلك لا تقصد أن لوحات المفاتيح كان فيها مفتاحين فقط (0،1)!
فإذن عليك (متابعة الموضوع) حتى نستفيد من مداخلاتك، لكن أرجو ملاحظة أنه مكتوب لغير المتخصصين وبلغة بسيطة بدون تعقيدات.
بالمناسبة، أنتظر شرحك لمعنى (الدخن في الزلط) وأحسبك أردت (الجريف واللوبيا).
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
أعذرني الاخ الكريم حاتم... ولكني لا ارى ما سقته انت ووصفته بأنه مكتوب بلغة بسيطة دون تعقيدات بأنه كذلك هذا البوست لن يفهمه الا من له سابق علم باساسيات الالكترونيات الرقمية Digital Electronics and Microprocessors أو الذين درسوا لغات المستوى الادنى Low-Level programming Languages ( Assembly Language
حتى ال Coding الذي يتم للربط بين لغات المستوى الاعلى و التطبيقات ..وبين لغة الالة لا يسبر غوره الا من درس علوم الالكترونيات المتقدمة مثل VLSI
لانه - في إعتقادي - ان ما ذكر عن النظام الثنائي صحيح...جهاز الحاسوب لا يفهم الا وجود الاشارة الكهربائية او عدم وجودها... وكل ما ما يتم تخزينه و ترجمته و تشفيره....في دوائر فائقة السرعة و التعقيد...هو في حقيقة الامر اما اشارات كهربائية موجودة او غائبة
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: Zakaria Fadel)
|
زكريا فاضل سلام
لعلك لن ترى أي إشارة لكلمة إلكترونات أو نظام ثنائي أو ترانزستور أو (Bus) في هذا الموضوع، لكن سترى كلام عن أعداد عشرية وعلب دومينو ومصطلحات عامة لا تتطلب شهادات متخصصة، أرجو أن لا تفترض صعوبة الموضوع على الآخرين فهم يفهمون ربما أفضل مني ومنك.
بالنسبة للنظام الثنائي، بالتأكيد يعلم الكثيرون كيف يجب تمثيل ذلك إلكترونياً ولكني أتحدث عن (Man machine intraction) أي ما يتعلق بالحروف خارج صندق الآلة ومكوناتها وليس كيفية سريانها بين الدوائر المتكاملة.
أنت وأبو الريش تنظرون للموضوع من داخل وحدة المعالجة المركزية (Inside out)، وأما تناولته من وجهة نظر الجالس على الكرسي، تحياتي.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
"لانه - في إعتقادي - ان ما ذكر عن النظام الثنائي صحيح...جهاز الحاسوب لا يفهم الا وجود الاشارة الكهربائية او عدم وجودها... وكل ما ما يتم تخزينه و ترجمته و تشفيره....في دوائر فائقة السرعة و التعقيد...هو في حقيقة الامر اما اشارات كهربائية موجودة او غائبة"
مرحبا مرة أخرى زكريا فاضل
في الحقيقة "الإشارة" موجودة دائماً ولا تنعدم بالمرة ولا تغيب مطلقاً، ربما يستحسن إنشاء بوست متخصص لكما أنت وأبو الريش وسأشارك فيه بالطبع ونترك هذا لمداخلات غير المتخصصين، ما رأيك؟
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
اخي الكريم.... لابد من إقحام وحدة المعالجة المركزية في الامر طالما كان عنوان الموضوع (كيف يرسم الكمبيوتر.......)
اما عن ان الاشارة لا تغيب مطلقا.....لا اظن ان هذه العبارة تضفي جديدا لشخصي ..ولا ادري ماهو القصد من (بوست جديد)...
إن كان القصد (تثقيفي ) عن الDigital Electronics ...فدعني اقول (وبكل تواضع)...انني اقوم بتدريس هذه المادة في الجامعات لاكثر من 15 عام خارج السودان
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: Zakaria Fadel)
|
يا أخ حاتم راجع بوستك الاساسى.. انت تحدثت عن (تخزين المعلومات في الذاكرة) بالنظام الستعشرى.. والذاكرة لا تخزن سوى إشارات كهربائية أي النظام الثنائى.. أعلم من حديثك ان لك باع طويل في المادة لكن إشتغل معانا صاح باللاى.. الذاكرة ما هي إلا مجموعـة شــراك traps لشحنات كهربائية.. راجع فيزياء خلايا الذاكرة micro-physics .. بمعنى الشحنة السالبة تتورط جوة خلية بعـد دا إلا نرطن بالإنجليزى، العربى حده هنا انتهى..
بالمناسبة، أنتظر شرحك لمعنى (الدخن في الزلط) وأحسبك أردت (الجريف واللوبيا).
دا ما كلامى لكن نقلته عن الأخ الذى كتبه في نفس البوست، والمعنى ان منطقـة لانجلى منطقـة خضراء وخصبـة للغايـة للدرجة التي يمكن ان ينبت النبات في الزلط.. يعنى ببساطة مبالغة في الخضــرة ولا يمكن ان توصف بتماثل سطح القمر القاحل.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: Zakaria Fadel)
|
يا زكريا فاضل
أرجو أن لا تأخذ ردي بشكل شخصي، وأن لا تفكر فقط في إطار الأكاديميات والمسميات التي تدرس للطلاب، البوست هنا لإطلاع غير المختصين في قالب مبسط يناسب ظروفهم من عدم التفرغ وغيرها وليس عن مادة أكاديمية حتى "نقحم وحدة معالجة"، ذكرت سابقاً أن المقصود تناول الموضوع من وجهة نظر الشخص العادي الجالس على الكرسي أي بدون أن نضطر لحمل المفكات والدخول في تفاصيل البتات.
طالما أنت متخصص، فإذا سألك شخص عادي كيف يظهر الحرف على الشاشة هل تذكر (Digital Electronics) ووحدة معالجة وإشارة؟
قصدي من فتح بوست متخصص جديد حتى تتفرغ أنت وغيرك لنقد المكتوب هنا وتصحيحه (إذا لزم) من وجهة نظركما بدون حدود وستجدني إن شاء الله من المتداخلين.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
Quote: أنا أتحدث عن الآسكي في بدايتها سنة 1972 وليس عن كم من الحروف يمكن ترميزه باستخدام بايت واحد، الآسكي كانت تستخدم سبعة بتات في بدايتها يا أبو الريش.
|
يا حاتم دى أول مرة تتحدث فيها عن عام 1972.. مالك ياخ!! بعدين منو القال عام 1972 الأسكى كود كان 128 حرف؟ هم حددوا بايت كامل للحرف.. يعنى حتى لو عندك حرفين بس في اللغة لازم البايت كله يسافر.. يعنى انت ما تدخل 7 بتات فقط.. لازم ترسل البت التامنة في شكل صفـر.. والنتيجة بايت. ثم يا سيدى انت تتحدث عن البايت والنظام الستعشرى وتقل B6 تساوى شنو ما عارف.. هسى لو قلت لواحد حداعشـر تساوى سبعـة فهل هـذا هو التبسيط الذى تقصده.. انت ياخى جبت مصطلحات الهكس والباينرى بدون ما تشرح اى منها..
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
"يا أخ حاتم راجع بوستك الاساسى.. انت تحدثت عن (تخزين المعلومات في الذاكرة) بالنظام الستعشرى.. والذاكرة لا تخزن سوى إشارات كهربائية أي النظام الثنائى.. أعلم من حديثك ان لك باع طويل في المادة"
يا أبو الريش سلام
أنت كأنسان كيف تنظر للبيانات المخزونة هذه؟ بحسب سياق النص أنا ذكرت (man-machine-interaction) وتحدثت عن الفترة الأولى وكيف الإدخال يتم من لوحات ستعشرية وتعرض أيضاً للانسان بنظام ستعشري، حد الموضوع هنا خارج صندوق الكمبيوتر أما كيف تخزن الحروف بالاستقطاب الجزيئي أو عضوي أو شحنات إلكترونية أو مغناطيسية أو أوضاع ميكانيكية فهذا تفصيل للمتخصصين، أرجو أن تفكر في الموضوع من خارج علبة الكمبيوتر.
إذا كان لديكما أي زيادة أو تفصيل أو تصحيح (إذا لزم) فلا بأس بفتح بوست متخصص في الموضوع وباللغة التي تريح أي منكما وسأكون حاضراً.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
يا حاتم موش دا كلامك؟
Quote: حيث كان الأوائل من المهتمين مهووسين فعلاً بالأمر فكانوا يقومون بإدخال البيانات بشكلها الطبيعي (native) أي بذات الطريقة التي تخزن بها في ذاكرة الكمبيوتر أي بالنظام الست عشري (hexadecimal) فكانت هنالك...الخ
|
في فرق بين إدخال الحروف وبين طريقة تخزينها.. وانت تحدثت بصورة واضحة ان الحروف تدخل بالنظام الستعشرى، وهذا صحيح، ولكنك قلت وتخزن في الذاكرة بالنظام العشرى أيضا، وهذا الخطأ الذى اريد ان تصححه.. راجع عبارتك الفوق.. لو قلت فقط ان الإدخال كان يتم عن طريق النظام الستعشرى ما في مشكلة.. ولكنك قلت: "أي بذات الطريقة التي تخزن بها في ذاكرة الكمبيوتر أي بالنظام الست عشري" لو في زول خت إيدك على خطأ اشكره وصحح الخطأ وتجاوز الموضوع..
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
"يا حاتم دى أول مرة تتحدث فيها عن عام 1972.. مالك ياخ!! بعدين منو القال عام 1972 الأسكى كود كان 128 حرف؟ هم حددوا بايت كامل للحرف.. يعنى حتى لو عندك حرفين بس في اللغة لازم البايت كله يسافر.. يعنى انت ما تدخل 7 بتات فقط.. لازم ترسل البت التامنة في شكل صفـر.. والنتيجة بايت. ثم يا سيدى انت تتحدث عن البايت والنظام الستعشرى وتقل B6 تساوى شنو ما عارف.. هسى لو قلت لواحد حداعشـر تساوى سبعـة فهل هـذا هو التبسيط الذى تقصده.. انت ياخى جبت مصطلحات الهكس والباينرى بدون ما تشرح اى منها.. "
أبو الريش سلام ما رأيك أن تعيد مراجعة معلوماتك عن الآسكي بالإطلاع عليها في مصدر مناسب بدلاً عن الهيجان بدون سبب واضح.
مواضيع الكمبيوتر متصلة، هل تريد أن أشرح (هنا) للناس نظم الحساب الثنائي والست عشري حتى أبين كيف تظهر الحروف على الشاشة؟ المصطلحات موجود بأقل ما تيسر لمن أراد الاستزادة، وليس لاستفزاز أحد أو ابتدار منافسات غير ذات معنى لتحديد من يعرف أكثر.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
يا حاتم سلام.. وما دمت لجأت للأسلوب السالب في الكلام.. negative talking فأقول ليك شنو وتانى أقول ليك قبل ما امشى.. تشرح ما تشرح دا ما موضوع.. المهم تقول الكلام الصاح.. وأنا ختيت يدك على الخطأ وبرضك ما رديت عليه.. إنت بعضمة كيبوردك قلت الحروف (تتخزن في الذاكرة بالنظام الستعشرى) ما إدخال بيانات بس.. وهـذا خطأ كنت أتوقع منك تواضع العالم وتصحيحه فورا، ولكنك وقفت مع نفسك وتجاهلت هذه النقطة الأساسية في مداخلتى. هـذه العبارة خطأ وليس مناسب ان تتركها تتسرب لقراء متلقين بدون ان تصححها لهم. أنا ما محتاج إتنافس معاك.. والبيعرفنى يعرف انى صممت مايكروبوسسور وشغلته عام 1984 from discrete and VLSI chips and other off-the-shelf components
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
يا أبو الريش
أحاول أن أوصل لك أن طريقة تمثيل معارفنا كبشر داخل الكمبيوتر بدأت بوضع نظام ست عشري للإدخال وللحفظ معاً، وحتى تفهم ما أعني فلو ربطت كمبيوترين وترغب في إرسال حرف من أحدهما للآخر فعليك أن تحدد للاثنين أن النظام المحدد للتمثيل هو الستعشري الرقمي وليس الثنائي، يعني وحدة بناء أصغر معلومة بالنسبة لنا كبشر تمثل بالنظام الستعشري، هذا لغرض هذا البوست هنا.
حتى تمثل البيانات في الكمبيوتر هنالك حد فاصل بين التمثيل المخصص للبشر والتخزين الفعلي الذي تتيحه الآلة (الكمبيوتر)، في الشرح أعلاه الحد الأدنى لتمثيل النظام الست عشري هو سبعة بتات أي اقل من بايت واحد، يعني اللوحات التي أتحدث عنها كان فيها الأرقام (0-9) والحروف (A-F) هذا نظام ستعشري كما تعرف، والعرض على الشاشات كان يعتمد على تفسير المخزون في الذاكرة بناء عليه وليس على 0 و 1 فقط بل على سلاسل يمكن أن تكون 4 بتات أو 7 بتات.
الصورة للآسكي ولاحظ أنها سبعة بتات وليست ثمانية فلم تكن هناك حاجة لتمثيل أكثر من 128 حرف ورمز، أتمنى أن تكون تحققت من معلوماتك القديمة.
الآن لتمثيل الحرف (A) عندك خيارين من لوحة المفاتيح إدخال القيمة 41 بالنظام الستعشري وتخزن بناء على التمثيل الستعشري المبين في الصورة أما كيف؟ فبأخذ أربعة بتات دنيا وثلاثة عليا أي ذات القيمة الأعلى نظرياً حسب التمثيل.
أو الضغط على الحرف (A) مباشرة من لوحة المفاتيح فيقوم الكمبيوتر بتخزين الرقم 41 بأي سلسلة من البتات في الذاكرة، أما كونها ثنائية فهذا ما تتيحه الآلة فقط أو ما تواضع الناس على استخدامه بناء على المتوفر من التقنية، يمكن أن يكون هناك نظام ثلاثي ورباعي وخماسي وسداسي إلخ أعني (multi-valued logic) أي حالات الوحدة الأساسية التي نعتبرها مناسبة للخزن كجزء في سلسلة التمثيل بايت كانت أو غير ذلك.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
------------------- "يا حاتم سلام.. وما دمت لجأت للأسلوب السالب في الكلام.. negative talking فأقول ليك شنو وتانى أقول ليك قبل ما امشى.. تشرح ما تشرح دا ما موضوع.. المهم تقول الكلام الصاح.. وأنا ختيت يدك على الخطأ وبرضك ما رديت عليه.. إنت بعضمة كيبوردك قلت الحروف (تتخزن في الذاكرة بالنظام الستعشرى) ما إدخال بيانات بس.. وهـذا خطأ كنت أتوقع منك تواضع العالم وتصحيحه فورا، ولكنك وقفت مع نفسك وتجاهلت هذه النقطة الأساسية في مداخلتى. هـذه العبارة خطأ وليس مناسب ان تتركها تتسرب لقراء متلقين بدون ان تصححها لهم. أنا ما محتاج إتنافس معاك.. والبيعرفنى يعرف انى صممت مايكروبوسسور وشغلته عام 1984 from discrete and VLSI chips and other off-the-shelf components ------------
يا أبو الريش
أنا أرد على مداخلاتك بصورة منطقية وليست سالبة، فإذا تأخرت عليك في الرد فأن لي مشاغل أخرى، مشكلتك أنك تكتب بتشنج وبانفعال غير مبرر، لا أدري ما السبب، كذلك أرجو أن تنظر بعقل مفتوح بدون أحكام مسبقة وعبارات مسكوكة جاهزة مثل (التخزين يتم في الذاكرة بالنظام الثنائي).
لا أفهم مدى ضيقك، إن كان هناك خطأ في الموضوع (إن وجد) فلا تبادر بوصفك الحكم في هذا الشأن فبمثلما (4 زائد 5 تساوي 9) فإن (3 زائد 6 تساوي 9) وأعيد: لا أكتب لاستفزاز أحد أو لابتدار منافسة مع أحد، فالمهم هو ما تقدمه للناس وليس كيف أعدت اختراع العجلة.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
الأخ \ حاتم إبراهيم و المتداخلين
السلام عليكم و رحمة الله و بركاته ،،،
أولاً مرحباً بك في سودانيز ،،،
كتابتك تدل علي أنك خريج علوم كمبيوتر و الأخوان المتداخلين معاك مهندسين ،،،
خلفيتك تقوم علي المنطق و التشفير و البرمجة بينما خلفيتهما قائمة علي الهاردوير و كيفية فهم و معالجة الحاسوب للبيانات ،،،
هذا لا يمنع أن يكون أحدهما أو كلاهما مبرمجاً أو له خلفية كبيرة في علوم الحاسوب ،،،
إن كان كل ما ذكر أعلاه صحيحاً ، فأقول أن هذا البوست مفيد جداً و نتمني من الأخوين المشاركة ليستفيد الجميع ،،،
أعتقد أن سوء التفاهم يمكن حله إذا قمت برفع رسم توضيحي لمعدات الإدخال ، الإخراج ، المعالجة و من ثم شرحت بناءاً علي هذا الرسم ،،،
غير ذلك يكون كل منا يغرد حسب فهمه و ما يتخيل أنك تتحدث عنه ،،،
==========================================================
* يتم تبسيط أو تحويل صيغة البيانات في مراحل متعددة حتي تكون في وحدة المعالجة علي شكل 0\1 أو T\F أو وجود إشارة أو عدمها سمها ما شئت ،،،
إذا أدخلت أي معلومة من خلال أي من معدات الإدخال ، فإن هذه المعلومة يتم تحويل صيغتها حتي تصبح علي شكل 0\1 في وحدة المعالجة و العكس صحيح في عملية الإخراج
فإن أي معلومة موجودة علي شكل 0\1 في وحدة المعالجة أو الزاكرة يتم تحويل صيغتها حتي تظهر علي أي من وحدات الإخراج بصيغة يفهمها الإنسان ،،،
* ما فهمته من طرحك أنك تشرح فقط تحويل البيانات من لوحة المفاتيح إلي النظام الست عشري دون الوصول لمستوي 0\1 لأنك لا تريد إدخال القاري في تفاصيل ما يحدث في وحدة المعالجة ،،،
و العكس صحيح في حالة الإخراج فأنت تريد ترميز 41 علي أنها A دون أن تبدأ من صيغة 0\1 ،،،
و لتوضيح كلامك هذا بالاسكي فهناك مثال بسيط بماتلاب :
(x=linspace(1,100,100 ('fid = fopen('aaa.dat','w (fwrite(fid, x (fclose(fid
الأرقام من 1 إلي 100 عند كتابتها علي ملف بصيغة اسكي دون تحديد فورمات الكتابة فأن ماتلاب يكتب الرمز في الكيبورد و الذي يناظر كل رقم من الأرقام كما يلي :
!"#$%and'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd
كثير من الرموز لم تظهر عند نسخها ،،،، لكن نلاحظ أن لكل رمز رقم معين يناظره ،،،
أرجو أن تكون هذه إضافة لتوضيح الإمور و أن لا أكون قد أكثرت من الشرح ،،،
لي سؤال عن صيغة الـــ image و صيغة الــــ vector و أثرها علي جودة الطباعة و الـــ Resolution ،،،
تحياتي ،،،
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: الطيب الجاك)
|
"أعتقد أن سوء التفاهم يمكن حله إذا قمت برفع رسم توضيحي لمعدات الإدخال ، الإخراج ، المعالجة و من ثم شرحت بناءاً علي هذا الرسم ،،،"
في الحقيقة لا يوجد سوء تفاهم، بل سوء تقدير من الإخوان، فهما لا يرغبان في الاستماع إلا لما يعرفانه، سبق وأن كررت أنني أعرض الموضوع من وجهة نظر مختلفة لكن يبدو أنهما يصران على الإنطلاق من داخل صندوق الكمبيوتر بدون وضع اعتبار أن هنا بعض الناس لم تر محتويات الذي يتحدثان عنه. تحدثت عن سيناريو الدومينو للتبسيط وأضفت بعض المصطلحات ولكن لا يعجبهما إلا الخوض في تفاصيل التفاصيل. عرضت عليهما فتح بوست جديد متخصص ثم الإسهاب في الموضوع ولم يبديا أي حماس إلا أن انصاع لتوجيهاتهما، الآن يستعرض كل منهما مقتطفات من سيرته الذاتية بدون أي داعي.
"* ما فهمته من طرحك أنك تشرح فقط تحويل البيانات من لوحة المفاتيح إلي النظام الست عشري دون الوصول لمستوي 0\1 لأنك لا تريد إدخال القاري في تفاصيل ما يحدث في وحدة المعالجة ،،،"
أنا ذكرت هذا مرتين على الأقل وقلت أنني أتحدث من وجهة نظر الجالس على الكرسي، ثم من وجهة نظر غير المتخصص دون جدوى.
"لي سؤال عن صيغة الـــ image و صيغة الــــ vector و أثرها علي جودة الطباعة و الـــ Resolution ،،،"
أتمنى أن توضح سؤالك فإن قدرت عليه سأرد في بوست منفصل.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
Quote: أنا أرد على مداخلاتك بصورة منطقية وليست سالبة، فإذا تأخرت عليك في الرد فأن لي مشاغل أخرى، مشكلتك أنك تكتب بتشنج وبانفعال غير مبرر، لا أدري ما السبب، كذلك أرجو أن تنظر بعقل مفتوح بدون أحكام مسبقة وعبارات مسكوكة جاهزة مثل (التخزين يتم في الذاكرة بالنظام الثنائي).
لا أفهم مدى ضيقك، إن كان هناك خطأ في الموضوع (إن وجد) فلا تبادر بوصفك الحكم في هذا الشأن فبمثلما (4 زائد 5 تساوي 9) فإن (3 زائد 6 تساوي 9) وأعيد: لا أكتب لاستفزاز أحد أو لابتدار منافسة مع أحد، فالمهم هو ما تقدمه للناس وليس كيف أعدت اختراع العجلة.
|
يا حاتم هسى كلامك الفوق دا مليئ بالأخطاء.. شفت كيف، بدل تتواضع لله وتقول المعلومات تخزن بالنظام الثائى اها النتيجـة وقعت في أخطاء فادحة جديدة.. وانا ما متشنج ولا اى شيء.. ولكن رأيت خطأ في كلام مفروض يكون درس لناس ما عندهم خلفيـة كبيـرة وتفوت عليهم هـذه الاخطاء، ولازم تصحح.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: Abureesh)
|
"يا حاتم هسى كلامك الفوق دا مليئ بالأخطاء.. شفت كيف، بدل تتواضع لله وتقول المعلومات تخزن بالنظام الثائى اها النتيجـة وقعت في أخطاء فادحة جديدة.. وانا ما متشنج ولا اى شيء.. ولكن رأيت خطأ في كلام مفروض يكون درس لناس ما عندهم خلفيـة كبيـرة وتفوت عليهم هـذه الاخطاء، ولازم تصحح."
طيب يا أبو الريش المنبر دا مفتوح للنقاش، فبدلاً عن الهياج وتصيد أخطاء تعتقد أنها موجودة، أكتب الصحيح من وجهة نظرك. وسنرى.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: صديق الموج)
|
سلام للجميع،
Quote: حاتم موضوعك شيق ومفيد لكن ضبحته بانك نزلتو ون شوت ده ناس ود البوش ومعاويه الصايم والجميعابى السغلاء ديل يعملو بيه 56 بوست ياخى قطع الموضوع وجيبو زى المرارة او فى شكل كبسولات بتقرى كده صعب انت عشان جديد هنا ماعارف البوستات بسوقوها كيف؟حبابك منو وجديد،،، |
زي ماقال ود الموج، التبسيط مطلوب. الموضوع ده عشان نفهمو دايرين لينا قرابة نصف السنة، طبعا ده إذا وصلتو لاتفاق حول نقاط الخلاف، بخلاف ذلك بتعملوا لينا لخبطة في المعلومات القديمة. فحاول قطعو لأرباع، أدي كل ربع أسبوع لزوم الاسئلة والإتقان، وياريت لو تختبر فهمنا فيهو. المهم: ما فات شئ، ممكن تعيدو في شكل شرح مبسط. تحياتي وتقديري
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: قصي محمد عبدالله)
|
الباشمهندس قصى، سلام..
المؤمن مرءاة أخيه.. يعنى لما تقرأ عبارة زى:
Quote: عندما كانت الذاكرات المباشرة (Dynamic RAM)
|
يعنى الذاكرة المباشرة DMA - direct memory access تترجم بالذاكرة الديناميكية، تقول شنو.. ونحن السودانيين أساسا عندنا مشكلة مع التصحيح.. والنقد.. عشان كدا السياسيين كان ديمقراطيين واللا دكتاتوريين ما يرضو النقض أبدا.. حتى اتباعهم هنا يقول ليك إنت تكره سيدى الصادق!! بس لمجرد أبديت رأى ضـد ساستو وتوجهه المعين تجاه قضيـة محددة.. ووضح انك مستقل وحر في تفكيرك. المهم يا زول الله كريم.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
الكمبيوتر لا يحتاج لحروف اللغة (letters) بأشكالها المعتادة والمألوفة للانسان، لأنه لا يراها، ولا يحتاج لعرضها على أي وسيلة بصرية، الذي يحتاج لمشاهدتها هو ذلك الكائن الموجود بين الكرسي ولوحة المفاتيح.
معظم الآلات التي يصنعها الانسان مهيئة لخصائصة الطبيعية أي أنها (human-rated) فكل الآلات ينبغي أن تراعي في طريقة عملها أن للانسان أبعاد ومقدرات ووسائل إحساس خمسة وأساليب إخراج متعددة منها الكلام إضافة للحركة. كل هذه المواصفات البشرية تفرض على المصممين طريق معينة لتصنيع الآلة ومن ناحية أخرى تفرض التقنيات الممكنة مواصفات أقوى لذا يحدث التطور في الآلات على الدوام، العلاقة التي يبتدرها المصممون تدخل في ما يعرف علاقة الانسان الآلة، وفي حالة الكمبيوتر فإن هذه العلاقة بدأت بتحديد المخرجات إلى آلات الطباعة قبل أن تخصص إلى الشاشات، وفي حالة الكمبيوتر الشخصي فقد كانت المخرجات من البساطة بحيث أنها مجرد أضواء يجب على المشغل تفسيرها كما في حالة أول كمبيوتر شخصي واسمه (ألتير) وهو في الصورة أدناه:
وكان مجرد آلة حاسبة بسيطة يتم إدخال البيانات من ثمانية مفاتيح علوية إلى مواعين تخزين داخل الكمبيوتر نسميها مواقع الذاكرة، بدون تعقيد، يقوم المشغل بتحريك المفاتيح إما للأعلى والأسفل لتحديد رقم (الثمانية مفاتيح العلوية تعطي 256 حالة أي أقصى رقم هو 255) بينما المفاتيح السفلية وهي 16 مفتاح تعطي أكثر من 60 ألف حالة بقليل، عادة تخصص المفاتيح العلوية للبيانات أي مثلاً الأرقام المطلوب جمعها أو طرحها، بينما المفاتيح السفلية تخصص لتحديد أين نضع الرقم الأول (المضاف) والرقم الثاني (المضاف إليه) ونتيجة العملية (المجموع) في ثلاثة مواعين في الذاكرة.
المفاتيح ثنائية الحالة أي أنها إما موصولة أو مفصولة (تعبر عنها لمبة حمراء) وهذه واحدة من المواصفات التي تفرضها الآلة على الانسان ولكن ليس بالضرورة أنها حالة الكمبيوترات في يومنا هذا، على أية حال، من تلك الأوقات أطلق على طريقة الحساب هذه النظام الثنائي للعد وهو سابق لوجود الكمبيوتر بأجيال ولكنه كان الأنسب للتطبيق بواسطة آلة من ألتير وأسلافها من الكمبيوترات الكبيرة.
يتم إدخال الرقم الأول بضبط صف المفاتيح الثمانية الأولى وبعدها المفاتيح الست عشر السفلية ثم يضغط المشغل على مفتاح محدد لإدخال النمط إلى ماعون الذاكرة الأول، ثم يضبط الرقم الثاني بنفس الطريقة، ثم يضغط على مفتاح فتحدث عمليتان آلياً:
1- العملية الأولى: حساب المجموع داخل الآلة ووضع النتيجة (المجموع) في ماعون ثالث في الذاكرة 2- العملية الثانية: تعديل اللمبات في واجهة الجهاز لتشير المفاتيح الثمانية العلوية للنتيجة (المجموع) والمفاتيح الست عشرة لموقع المجموع في الذاكرة أي رقم الماعون إذا افترضنا أنها تبدأ من الماعون رقم صفر
الآن، الطريقة التي صممت بها هذه الآلة تراعي أن المشغل يملك يدين وعينين لذلك فالإدخال فيها عن طريق مفاتيح والإخراج عن طريق أضواء اللمبات، مع ذلك فهي ولكي تكون مناسبة (intuitive) كان يجب أن يتم الإدخال بالأرقام التي اعتاد عليها البشر وأن تظهر النتيجة بالهيئة التي ألفوها، لكن هذا ما كانت عليه التقنية في السبعينات. بالطبع النظام المستخم للإدخال يسمى في هذه الحال النظام الستعشري والتخزين في الذاكرة يتم به أيضاً من وجهة نظر المشغل وهو أدنى نظام يفهمه المشغل وأعلى نظام يمكن تمثيل البيانات به داخل مواعين الذاكرة، هنالك بالطبع تقسيم أدني يتعلق بالهيئة التي تحفظ بها الآلة البيانات ولكن هذا خارج نظاق الموضوع.
المهم هنا أن الآلة تنتهي من مهمتها بمجرد حساب المجموع أما عرض النتيجة ليراها المشغل بيعينيه فهو كرم منها ليس إلا، فمن الممكن أن ترسل النتيجة إلى طابعة أو آلة أخرى لا ترى بعينين.
تطور آخر حدث بعد فترة هو إمكان الإدخال باستخدام لوحات مفاتيح طبيعية أكثر ولا تعتمد على اللمبات والمفاتيح الميكانيكية، صورتها في الأسفل وهي نقلة كبيرة بالتأكيد لكن المهمة هي ذاتها وهي الإدخال
بدايات الكمبيوتر (ليس الكمبيوتر الشخصي) لم تشهد اهتماماً بمسألة العلاقة بين الانسان والآلة (man-machine interaction) حيث كان الأوائل من المهتمين مهووسين فعلاً بالأمر فكانوا يقومون بإدخال البيانات بشكلها الطبيعي (native) أي بذات الطريقة التي تخزن بها في ذاكرة الكمبيوتر أي بالنظام الست عشري (hexadecimal) فكانت هنالك لوحات مفاتيح ست عشرية كل مفتاح يساوي تماماً الرقم الست عشري المكتوب عليه فإذا ضغطت على المفتاحين (B6) يقوم الكمبيوتر بإدخال القيمة (B6) "تعادل الرقم 182" وتخزينها في الذاكرة وتحصل بذلك على صورة (image) للبيانات في الذاكرة مطابقة للارقام التي ضغطت مفاتيحها باصابعك، في مطلع الخمسينات لم تكن هنالك شاشات تبين الموجود من القيم المدخلة إلى الذاكرة وهي عملية تسمى بإعادة العرض (echoing) والمصطلح يعني إعادة عرض صورة البيانات على المستخدم "للتحقق" منها، سنعود لتفصيل هذه النقطة قريباً.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
عندما كانت الذاكرات المباشرة (Dynamic RAM) عزيزة، والاسم مباشرة لأن بالإمكان التخزين في أي موقع (ماعون) منها مباشرة دون الحاجة للمرور على مواقع متتالية فيها كما في يحدث في أوساط تخزين أخرى مثل الاشرطة المغناطيسية، الاختصار للعبارة (Dynamic random-access memory) وليس (DMA - direct memory access) كما يصر أخونا أبو الريش هنا باستمرار. كان يمكن أن نترجمها (ذاكرة ديناميكية، ذاكر ولوج عشوائي، ذاكرة اختيار ديناميكي عشوائية) كما يصر لكن المعنى المتعلق بوظيفتها وطريقة عملها هو أنها ذاكرة مباشرة من حيث إتاحتها لتخزين البيانات.
عند ظهور تلك الذاكرت (وهي التي تعمل في معظم الأجهزة حالياً) كان كل بايت يستحق ثمنه لذلك لم تكن مسألة اللغات العالمية الأخرى مطروحة إذا كان من المفترض تخزين الحروف في الذاكرة، ولماذا نحتاج لتخزين الحروف أصلاً؟
لو تم تخصيص مفتاح على اللوحة لكل نوع الأوامر لاحتجنا لكمية كبيرة من المفاتيح، كذلك يستحيل التنبؤ بالعمليات التي يمكن أن تتطلبها مهام معينة، فلو كان الكمبيوتر مثل لوحة تحكم لإدارة آلة نسيج أو جهاز تشغيل اسطوانات أغاني مثلاً لاحتجنا لعدد محدود من المفاتيح، لكن الكمبيوتر آلة متعددة الأغراض، فالأنسب استعمال أوامر تقوم على اللغة المحكومة ويمكن أن يتم التوسع فيها بأكثر من طريقة على أن تترك مهمة فهم هذه اللغة المحكومة للكمبيوتر عبر برامج وسيطة لا داع لذكرها هنا، المهم أنه وقبل ظهور الكمبيوتر الشخصي كانت هنالك طريقة لإدخال الأوامر للكمبيوتر تعتمد على سلاسل نصية مثل أوامر بسيطة أي كلمات (imperative) فبدلاً عن ضغط مفتاح واحد للطباعة يمكن كتابة (print) وهكذا وبالطبع لابد أن يرى المشغل النص الذي قام بإدخاله حتى يتحقق من صحته، غني عن الذكر أن هذه الطريقة (البرمجية) يمكن من خلالها توليد عدد لا نهائي من الأوامر اعتماداً على حروف اللغة الإنجليزية والأرقام وبعض العلامات والرموز. وهذا يبدو طبيعيا أكثر (more intuitive).
إذن الأوامر إضافة للنصوص بحالتها الطبيعية (generic) هو السبب الذي جعل من الضروري تخزين الالفبائية الانجليزية بكاملها في هيئة متعارف عليها وعلى مستويين بين الجهات المنظمة لعمل الكمبيوتر، وبين الكمبيوتر والبشر، ومن ناحية تصميمة يكفي تخصيص مفتاح واحد لكل حرف أو رقم على لوحة المفاتيح التي تعرفونها الآن.
ولذلك كان الاهتمام على الإنجليزية فقط فتم تخصيص موقع واحد في الذاكرة (يسمى بايت) لكل حرف من حروف اللغة فكان بذلك الحروف والعلامات الممكن ترميزها (128) فقط، فتم تنظيم حروف اللغة الإنجليزية في مصفوفة (character set) تخصص لكل حرف (حروف اللغة والأرقام التسعة وبعض العلامات) رقم مميز سمي بالرمز (code) هذه الأرقام هي التي يخزنها الكمبيوتر في ذاكرته وليس الحروف (letters) ذاتها أو أي معلومات عنها فكانت الآسكي (ASCII) بشكلها الحالي وهي مجرد جدول متفق عليه يخصص رقم ستعشري لكل حرف أو علامة يمكن تخزينها لاحقاً في ذاكرة الكمبيوتر، وكانت تلك أول طبقة مخفية (covert layer) تفصل بين طريقة الكمبيوتر في التخزين وطريقة الانسان في الإدخال.
أنت تضغط مفتاحاً يخص الحرف فيقوم الكمبيوتر بإبداله بالرقم المقابل (الرمز) ثم تخزين الرمز (ست عشري) في الذاكرة، إبدال الحرف بالرمز يتم بواسطة لوحة المفاتيح الملحومة مع الكمبيوتر أما في حالة وجود لوحة المفاتيح العصرية المستخدمة حالياً والموصولة عبر سلك فيتم التحويل داخل الكمبيوتر لأن لوحات المفاتيح هذه ينتج عن ضغط أي مفتاح فيها شفرة وسيطة أخرى تسمى (scancode) وهي طبقة مخفية أخرى نشرحها لاحقاً، هذه العمليات تسمى إدخال البيانات بصورة عامة.
نواصل في وقت لاحق
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
تحدثنا عن جدول الآسكي وذكرنا أنه متفق عليه وبطبيعة الحال لا بد من الاتفاق على هذه المصفوفة فإذا تغير رمز الحرف يتغير كل شيء ونحصل على فوضى صنعناها بأنفسنا ولن يتأثر الكمبيوتر أبداً، هذا الاتفاق يحدد معيار (standard) تنظيم العلاقة بين شكل حرف اللغة (character) والرمز المقابل (code) وفي أبسط صورة هو مجرد جدول ولكنه متفق عليه وهي الميزة الأهم في وضع أي عمل له علاقة بالكمبيوتر. الآن لدينا الوضع التالي:
نلاحظ أن لدينا جدولين (code page) نتفق عليه كبشر حتى تتوحد معايير الكتابة لكل المستخدمين وجدول آخر (character set) وهو يرتبط أكثر بعلاقة الفرد بالكمبيوتر أي كيف يرغب في ظهور شكل الحرف أو ما نسميه (الخطوط). إذن لكل حرف رمز أو شفرة يحددها جدول اسمه الآسكي وشكل يحدده جدول آخر اسمه (character set) يصف بشكل فني كيفية رسم الحرف على الشاشة (أو أي جهاز بإمكانه رسم الحروف مثل الطابعة).
باتساع دائرة مستخدمي الكمبيوتر لتشمل غير المختصين كانت الشاشات الزجاجية (CRT) قد بدأت في أخذ مكانها في دنيا الكمبيوتر،
فإذا أردنا كتابة جملة (print) فلا بد من التحقق أننا أدخلناها بطريقة صحيحة أي المطلوب أن نرى صورة البيانات (image) بطريقة ما ليس الأرقام الست عشرية في الذاكرة بل حروف الجملة باللغة الإنجليزية، عليه يقوم الكمبيوتر عند الضغط على أي مفتاح (أثناء طباعة النصوص مثلاً) بعمليتين أساسيتين
الأولى: إدخال الحروف بشفرتها إلى ذاكرة الحاسوب الثانية: عرض (شكل الحرف) على الشاشة حتى يراه المستخدم وهذه العملية الثانية تسمى بإعادة العرض (echo) واللفظ يفيد أنك ترى صدى لما أدخلته يا انسان، العملية الأولى ضرورية لكن الثانية ليست كذلك فهي موجهة للانسان فالكمبيوتر قد خزن ما يريد بالفعل. يمكنكم فصل الكهرباء عن الشاشة الآن وإعادة وصلها وستجدون البيانات في مكانها.
في الثمانينات كانت الشاشات في الأصل مجرد تلفزيونات لذلك كان محدودة القدرات، لعرض النصوص على الشاشة تم تحديد أقصى عدد للحروف 80 حرف وأقصى عدد للأسطر 24 سطر
في علم الكمبيوتر المصطلح (typography) يتعلق بوصف شكل الحرف أي صورته (glyph) وحالاته المختلفة وهو أيضاً مصطلح قديم قدم التاريخ فهو يعود إلى علم الطباعة القديمة الاسم (glyph) أحدث نسبياً، قلنا عندما نضغط على أي حرف فإنه تحدث عمليتان أساسيتان إدخال شفرة الحرف لذاكرة الكمبيوتر وعرض شكل الحرف على الشاشة، هذه العملية الثانية معقدة جداً رغم عدم أهميتها بالنسبة للكمبيوتر وهي معقدة حتى يومنا هذا سنشرح بطريقة ميسرة.
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
الآن تخيلوا أن لديكم كل حروف اللغة الإنجليزية في جدول الآسكي أعلاه بشكلها المألوف قمنا بحفرها بطريقة جميلة على قطع دومينو أو ورق لعب (نسميها "ضُمَنه" وكُشْتينة في السودان) وكل قطعة دومينو مكتوب عليها من الخلف رقم الحرف المقابل في جدول الآسكي مثلاً A -> 41 B -> 42 ... m -> 6D
قلنا محفورة لأننا نقصد أنه ليس بالإمكان مسحها بسهولة، الآن تخيلوا أن الكمبيوتر الآن هو شخص يجلس قبالتك ويحتفظ بقطع الدومينو في علبة اسمها (code page) ويمكنه عرض أي قطعة دومينو حسب طلبك بحيث يكون الوجه الذي عليه شكل الحرف مقابلاً لك أما هو فلا يرى إلا الأرقام المتسلسلة من الخلف وأنت تقول له: (قم برص القطع بالأرقام 1 و 3 و 5 بهذا الترتيب وأرنيها) فيخرجها من العلية ويرصها ويرفعها في وجهك بذات الترتيب الذي طلبته، هو يرى الأرقام المتسلسلة من الخلف وأنت ترى الحروف الإنجليزية المحفورة، هذه ببساطة كل العملية، الرقم المتسلسل في الخلف هو الترميز بحسب جدول الآسكي وأي من قطع الدومينو هي حرف من حروف اللغة أيا كانت. الآن لو طلبت من الشخص (الكمبيوتر) رص القطع بالأرقام التالية:
53-55-44-41-4E فسيرى الماسك بقطع الدومينو الترتيب أعلاه بالنظام الست عشري وسترى أنت (SUDAN).
أما بهذا الترتيب 73-75-64-61-6E فسترى أنت (sudan)
كان ذلك تمثيل بسيط ولكن في الواقع أن تعطي الكمبيوتر الأمر بطباعة الحرف بمجرد الضغط على المفتاح المبين عليه الحرف، الآن أي نص من الذي تقرأونه الآن على شاشة الكمبيوتر يمكن أن يكون داخل الذاكرة على الهيئة التالية بالنظام الستعشري:
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
الآن قبل أن ننتقل لشرح كيفية رسم الحرف على الشاشة نعرج على توضيح يتعلق باللغة العربية وغيرها من اللغات.
للغة العربية أيضاً قطع دومينو ولكنها أكثر من قطع اللغة الإنجليزية الأساسية لأن أشكال الحروف تتغير حسب موقعها فلكل حرف عربي أربعة على الأقل وبعض الحروف اثنين فقط (مثل التاء المربوطة والألف المقصورة والهمزة)
دخول شركات جديدة في مجال الكمبيوتر وبطموحات للانتشار في كل العالم مثل مايكروسوفت أضاف جداول ترميز جديدة مع الإبقاء على الآسكي، مثلاً أضافت مايكروسوفت كمية من الجداول (علب الدومينو) لعدد من اللغات من بينها العربية وأطلقت عليها الأسماء التالية:
cp1252 -> Latin 1 للغات الأوروبية أو اللغات المعتمدة على الحروف اللاتينية بالتحديد cp1255 -> Hebrew العبرية cp1256 -> Arabic العربية
الجدول التالي (صفحة الترميز) هو للغة العربية، لاحظ أنه يحتوي على الحروف الإنجليزية أيضاً ولمعرفة ترميز الحرف يكفي جمع رقم العمود ورقم الصف مثلاً ترميز حرف (S) هو 50+3
فإذا كانت الرموز التالية (D0-E5-C8) هي التي تم إدخالها إلى ذاكرة الكمبيوتر أو بمعنى آخر هي التي طلبت رصها بقطع الدومينو فستحصل على الكلمة (ذهب) إذا طلبت من الشخص الذي يجلس قبالتك أن يريك لها.
ويجب عليه أن يعكس اتجاه العرض لأن اللغة العربية تكتب من اليمين لليسار ولهذا سميت مع اللغات التي تعتمد على حروفها بالكتابات المعقدة (complex script)، لماذا أضافوا الحروف الإنجليزية؟ هذا لأنها تعتبر اللغة الطبيعية (native) كما ذكرنا ولغرضين التعامل مع النظام الأساسي للكمبيوتر ولطباعة النصوص متعددة اللغات (multilingual).
ماذا عن الحركات؟ لا جديد هنا هي بالنسبة للكمبيوتر حروف أخرى تذكر أن الشخص الذي يجلس قبالتك لا يرى ما تراه لذلك فهو لا يتدخل في تسمية الحرف المحفور على قطع الدومينو أو شكله حرفاً كان أو رقماً أو حركة أو حتى صورة وجه.
الحركات بالنسبة للكمبيوتر هي حروف كاملة الدسم لها ترميز مثل غيرها، بالرجوع لمثال الدومينو أعلاه، تخيلوا أن قطع الدومينو الخاصة بالحركات مصنوعة من الزجاج ويعرف الشخص أن هذا النوع من القطع لا يوضع بالتجانب بل فوق القطع العادية الأخرى تماماً وبالضبط كل قطعة دومينو زجاجية توضع فوق القطعة العادية قبلها، لدينا شكل الفتحة محفور على قطعة دومينو زجاجية بالرمز (F3) وبكمية وافرة، الآن أنت تقول للشخص: (قم برص القطع D0-F3-E5-F3-C8-F3 بهذا الترتيب وأرنيها) فيضع كل قطعة زجاجية بالرمز (F3) فوق التي قبلها فترى أنت الكلمة (ذَهَبَ) بالتشكيل.
لدينا الآن علبة قطع دومينو جديدة بل في الواقع لدينا أكثر (ASMO 708, DOS, ISO, Windows) وهي التسميات للاستخدام العام وكلها مخصصة للغة العربية، ومن هنا بدأت الفوضى التي تطلبت ابتداع اليونيكود
الأسماء المتخصصة أكثر هي (ISO8859-6, CP1256) وهي مجرد أسماء لطرق مختلفة لترقيم قطع الدومينو أي ترميزها. الأخير الخاص بمايكروسوفت يسمى (cp1256) مجرد رقم تعريفي و (cp) تعني (code page)، وهو الترميز المستخدم في صفحات هذا المنبر(سودانيزأونلاين).
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
الآن نأتي للتشفير (encoding) وتعريفه: "طريقة لتحويل المعلومات إلى بيانات".
جملة بسيط لكن شرحها يطول سأحاول الإيجاز، النظام الست عشري المستخدم في الترميز أعلاه يجب تحويله إلى سلاسل مرتبطة من البايتات وخزنها في الذاكرة ومن ثم العمل على عرضها على الشاشة، التشفير يعتمد على اللغة أي على عدد الحروف في اللغة، فإذا كانت الحروف بسيطة مثل الإنجليزية فنحتاج لاقل من بايت ولذلك جاء جدول الآسكي معتمداً على سبعة بتات لترميز 128 حرف فقط. أما إذا كانت اللغة حروفها أكثر مثل العربية أو اليابانية (2000 حرف) أو الصينية (10،000 حرف) فسنحتاج إلى أكثر من بايت ويجب أن نحدد ذلك في جدول الترميز وكذلك نحدده للكمبيوتر بطريقة ما،
ولأن انتشار الكمبيوتر في العالم تطلب إضافة لغات جديدة، عمدت هيئات مختلفة لإيجاد جدول ترميز عالمي متفق عليه لكل اللغات الحية والميتة والمتوقعة فكان أن ابتدعوا اليونيكود ولن نفيض في الحديث عنه لكنه شيء أقرب للآسكي ويسع لعدد يتجاوز المليون حرف.
الصورة أعلاه معبرة، أين يبدأ الحرف وأين ينتهي هذا ما يحدده نوع التشفير المستخدم، باختصار يمكن باستخدام التشفير المناسب تخزين وثيقة في نصف مساحة الذاكرة التي يتطلبها تشفير آخر، وهذا تفسيره أن ترميز الحرف في التشفير الأول المختزل يشفر ببايت واحد بينما التشفير الثاني يستخدم بايتين لتخزين رمز نفس الحرف، كلمة بيانات تعني بالضبط الطريقة المثلى لحفظ البيانات في ذاكرة الكمبيوتر وفي أوساط التخزين المختلفة مثل الأقراص.
ومن ذلك أيضاً أيهما يأتي أولاً عند التخزين في الذاكرة رمز بايت الحرف الأول أم الثاني مثلاً مايكروسوفت تستخدم (Little Endian) واليونيكود أيضاً يستخدمه، وذلك يعني أن البايت الثاني الأقل قيمة يأتي أولاً في التخزين، موضوع التشفير لا علاقة له بشكل الحروف.
التشفير هو المسؤول عن ظهور الحروف بشكلها الصحيح على الشاشة، أحياناً ترون أشكالاً مثل الهيروغيلفية أو حروف صينية أو مربعات مثل هذه:
أو هذه
ومع ذلك لا يصدر الكمبيوتر أي أخطاء أو تنبيهات فالأمور صحيحة تماماً من جهته، الترميز صحيح والتشفير صحيح، لكنك إن لم تر الحروف العربية في صفحة الانترنت مثلاً فعليك اختيار التشفير الصحيح (يونيكود مثلا أو Arabic Windows) بحسب الوسيلة المتاحة في متصفحك. مثلاً بالنسبة لموزيلا فايرفوكس لهذا المنتدى تحديدا في سودانيز أونلاين:
View -> Character Encoding -> Arabic (Windows)
وبالنسبة لمايكروسوفت انترنت إكسبلورر View -> Encoding -> Arabic (Windows)
تشبيه ذلك بالعودة لمثال الدومينو السابق، لنفرض أن الشخص بعثر كل الصناديق الخاصة بقطع الدومينو بحيث استحال عليه أن يعرف موضع كل قطعة فجمعها عشوائياً في العلب، هو لا يزال يعرف الرمز أو الرقم المميز المكتوب خلف كل قطعة دومينو لذلك إن قلت له: (قم برص القطع بالأرقام 1 من علبة اللغة العربية و3 من علية اللغة الإنجليزية ثم 5 من العربية بهذا الترتيب وأرنيها) فسيختار من القطع ما يبدو له منطقياً ويعرضها عليك ولكن من جهتك لن ترى أنت سوى نصوص أو أشكال غير مفهومة، هذا ما يحدث بالضبط إذا لم تختر التشفير الصحيح.
بالنسبة لمن يرغب في الإطلاع على جدول اليونيكود فهذا هو الجزء المتعلق باللغة العربية ويحدد الرمز القديم (code point) وما يقابله باليونيكود:
| |
|
|
|
|
|
|
Re: موضوع تعريفي: كيف يرسم الكمبيوتر الحروف على شاشتك (Re: حاتم إبراهيم)
|
تعقيب
تمت إضافة الصور وبعض الشروح استجابة لرغبة البعض. الموضوع علمي تعريفي ومحدد لذلك وضعته بالكامل حتى يتاح للمطلعين السؤال بعد استيعاب المضمون. هنالك جوانب فنية تتعلق بالدوائر الإلكترونية وتفاصيل إظهار الحرف على الشاشات بأنواعها المختلفة لم أرد إزعاجكم بها. مرحباً بالاستيضاحات أو أية تعليقات أو إضافات.
| |
|
|
|
|
|
|
|