Sunday, November 04, 2007

યુનીકોડ ફોંટ

યુનીકોડ ફોંટ - ચીરાગ પટેલ Nov 04, 2006

આપણે જોઈ ગયા, કે દરેક કેરેક્ટરને એક ચોક્કસ બાઈટ સંખ્યા વડે દર્શાવાય છે. એક બાઈટ, એટલે 8 બીટ અથવા 2 નીબલ, વડે 0થી લઈને 255 સુધીની જ સંખ્યા સમાવી શકાય. એટલે પ્રચલીત ભાષાઓમાં લખાણ માટે જે તે ફોંટ બનાવનારે આ મર્યાદામાં રહીને જ અક્ષરો દર્શાવવાના થયાં. અને એમાં પણ ભારે ઉથલ-પાથલ મચી ગઈ. એક જણે ગુજરાતીના 'ક' માટે 78નો અંક રાખ્યો અને બીજાએ 98નો અંક રાખ્યો. આમ, એક ફોંટમાં લખેલી ફાઈલને ખોલવા માટે બીજો ફોંટ લગભગ નકામો! અને વીચારો કે ગુજરાતીમાં લખેલી ફાઈલને ઈંગ્લીશ કે અરેબીકમાં ખોલીએ તો...

આ બધી અંધાધુંધી જો કે ઈંગ્લીશ સીવાયની લીપી માટે રહી. ઈંગ્લીશમાં તો જુદાં જુદાં ફોંટ વાપરવા છતાં અક્ષરો દર્શાવવાની સંખ્યા તો ચોક્કસ જ રહી. એટલે, ટાઈમ્સમાં લખેલી ફાઈલ એરીયલ ફોંટ વડે ખુલે તો ખરી જ. માત્ર, જે તે અક્ષરના વળાંકો અલગ રીતે જોવા મળે. આવું કાંઈક બીજી બધી લીપી માટે વીચારી શકાય?

આ જ પ્રશ્નમાંથી યુનીકોડને નીયમબધ્ધ કરવાની શરતો નક્કી થઈ. યુનીકોડમાં UTF-7, UTF-8, UTF-16 વગેરે અલગ-અલગ નીયમો પ્રચલીત થયા. અને યુનીકોડમાં ફોંટ બનાવવા માટે બે બાઈટનો ઉપયોગ કરવાનું વીચારાયું. આમ, બે બાઈટ વડે 0થી લઈને 65535 સુધીની સંખ્યા લખી શકાય, એટલે દુનીયાની દરેક પ્રચલીત લીપી માટે ચોક્કસ સંખ્યા-ગાળો નક્કી કરવામાં આવ્યો. હવે તો, 4 બાઈટના યુનીકોડ વીશે પણ વીચારણા ચાલી રહી છે! એટલે 0થી લઈને 65535 * 65535 સુધીની સંખ્યા દર્શાવી શકાય!

UTF-8 એ આસ્કી કેરેક્ટર સાથે સારી રીતે સુસંગત થાય છે, એટલે વધુ પ્રચલીત છે. આપણે, લીપી પ્રમાણે થોડી સંખ્યાઓ જોઈએ.

દેવનાગરી - 0x0900 - 0x097f
ગુજરાતી - 0x0a80 - 0x0aff

વધુ માહીતી માટે જુઓ: http://en.wikipedia.org/wiki/Basic_Multilingual_Plane#Basic_Multilingual_Plane

હવે, ગુજરાતીના દરેક અક્ષર માટે ઉપર દર્શાવેલા અંતરાલમાંથી એક ચોક્કસ સંખ્યા નક્કી થઈ છે. જેમ કે, 'ક' માટે 0x0a95, 'ૐ' માટે 0x0ad0, વગેરે. વધુ માહીતી માટે જુઓ: http://en.wikipedia.org/wiki/Gujarati_script

વીંડોઝ એક્ષ.પી. સાથે શ્રુતી ફોંટ આવે છે જે યુનીકોડ છે. એ ફોંટમાં લખેલી ફાઈલને બીજા કોઈ યુનીકોડ ફોંટ વડે ખોલીએ તો આપણને 'ક' જ્યાં હોય ત્યાં જ દેખાશે, પરંતુ એ જુદા ફોંટ વડે મરોડમાં થોડો ફેર હોઈ શકે. આમ, યુનીકોડ વડે દરેક અક્ષરનું ચોક્કસ સંખ્યા-સ્થાન નક્કી થઈ ગયું છે, જેણે ઈંટરનેટના વપરાશમાં ક્રાંતી લાવી દીધી. પહેલાં તો જે તે વેબ-સાઈટ પોતાના ફોંટ બનાવે જે ડાઉનલોડ કરવા પડે, અને તો જ જે તે સાઈટ દેખાય. જ્યારે હવે તો, યુનીકોડમાં બનેલી સાઈટ જોવા એવું કરવાની જરુર નથી પડતી (જો કે, અમુક અપવાદ હોઈ શકે છે).

www.bhashaindia.com પરથી આસ્કી <-> યુનીકોડ બન્ને રીતે ફાઈલને પરીવર્તીત કરવાને યુટીલીટી ડાઉનલોડ કરી શકાય છે (TBILconverter). વિશાલે પણ www.gurjardesh.com પર ઓનલાઈન યુટીલીટી મુકી છે.

No comments: