Updates from Januari, 2012 Toggle Comment Threads | Pintasan Keyboard

  • abrari 10:59 pm on 21 January 2012 Permalink | Balas  

    Operasi string Arabic dengan PHP 

    Sedikit latihan untuk implementasi topik skripsi nanti. Saya perlu prosedur untuk memecah sebuah string menjadi array dari karakter.

    Pengolahan string untuk teks non-ASCII seperti tulisan Arab tidak dapat dilakukan seperti biasa di PHP. String demikian (karakter Unicode) termasuk multybite string, sehingga perlu penanganan khusus. Bila menggunakan fungsi string biasa di PHP, maka hasilnya akan muncul karakter-karakter aneh.

    Untungnya di PHP ada pustaka fungsi untuk string multibyte. Misalnya fungsi mb_strlen sebagai pengganti fungsi strlen. Langsung saja, berikut potongan kode untuk memecah string Arabic menjadi array dari karakter-karakternya. Harap diketahui bahwa tanda harakat juga dihitung satu karakter. Ini terkait posting saya sebelumnya.

    <?php
    
    $ar_string = "صِرَاطَ الَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ الْمَغْضُوبِ عَلَيْهِمْ وَلَا الضَّالِّينَ";
    
    $ar_array = array();
    $len = mb_strlen($ar_string, 'UTF-8');
    
    for($i = 0; $i < $len; $i++){
        $ar_array[] = mb_substr($ar_string, $i, 1, 'UTF-8');
    }
    
    print_r($ar_array);
    
    ?>
    

    Dan bila dijalankan, maka akan sesuai harapan, yaitu string dipecah menjadi array dari karakter-karakternya.

    Array
    (
        [0] => ص
        [1] => ِ
        [2] => ر
        [3] => َ
        [4] => ا
        [5] => ط
        [6] => َ
        [7] =>
        [8] => ا
        [9] => ل
        [10] => ّ
        [11] => َ
        [12] => ذ
        [13] => ِ
        [14] => ي
        [15] => ن
        [16] => َ
        [17] =>
        [18] => أ
        [19] => َ
        [20] => ن
        [21] => ْ
        [22] => ع
        [23] => َ
        [24] => م
        [25] => ْ
        [26] => ت
        [27] => َ
        [28] =>
        [29] => ع
        [30] => َ
        [31] => ل
        [32] => َ
        [33] => ي
        [34] => ْ
        [35] => ه
        [36] => ِ
        [37] => م
        [38] => ْ
        [39] =>
        [40] => غ
        [41] => َ
        [42] => ي
        [43] => ْ
        [44] => ر
        [45] => ِ
        [46] =>
        [47] => ا
        [48] => ل
        [49] => ْ
        [50] => م
        [51] => َ
        [52] => غ
        [53] => ْ
        [54] => ض
        [55] => ُ
        [56] => و
        [57] => ب
        [58] => ِ
        [59] =>
        [60] => ع
        [61] => َ
        [62] => ل
        [63] => َ
        [64] => ي
        [65] => ْ
        [66] => ه
        [67] => ِ
        [68] => م
        [69] => ْ
        [70] =>
        [71] => و
        [72] => َ
        [73] => ل
        [74] => َ
        [75] => ا
        [76] =>
        [77] => ا
        [78] => ل
        [79] => ض
        [80] => ّ
        [81] => َ
        [82] => ا
        [83] => ل
        [84] => ّ
        [85] => ِ
        [86] => ي
        [87] => ن
        [88] => َ
    )
    
     
  • abrari 9:26 am on 21 January 2012 Permalink | Balas  

    Bagaimana huruf Arab ditampilkan di komputer? 

    Sedikit berkaitan dengan yang dilakukan untuk topik skripsi. Kita mungkin sering melihat huruf Arab di komputer yang ditampilkan sedemikian rupa (bersambung) sehingga mudah untuk dibaca. Bagaimana sebenarnya bisa seperti itu?

    Sedikit pengantar saja, setiap huruf Arab terdiri dari 4 posisi (case) untuk menentukan bagaimana penulisannya. Ibarat pada alfabet di mana setiap hurufnya terdiri dari 2 case, yaitu uppercase dan lowercase (huruf kapital dan huruf kecil). Maka pada huruf Arab ada 4 keadaan:

    • Huruf berdiri sendiri
    • Huruf di awal kata
    • Huruf di tengah kata
    • Huruf di akhir kata

    Pada saat kita mengetik dengan keyboard yang dapat mengetik huruf Arab, kita tidak perlu menentukan keempat posisi tersebut. Kita cukup menuliskan saja per huruf (disertai tanda vokal atau harakat bila perlu) dan secara otomatis komputer akan “menggambar”  posisi huruf yang sesuai.

    Misalnya kita mengetik pada keyboard urutan berikut:

    ا ل ل ه ُ أ َ ك ْ ب َ ر

    Maka secara otomatis komputer akan menggabungkannya menjadi:

    اللهُ أَكْبَرُ

    Bagaimana komputer melakukannya?

    Sebenarnya, yang disimpan di komputer tetap urutan huruf seperti yang kita ketikkan, bukan huruf dengan posisi di awal, tengah, atau akhir. Jadi yang menyambungkan seluruh huruf itu adalah pada saat display saja oleh sistem operasi, bukan pada penyimpanannya. Prosedur display seperti ini disebut complex text layout.

    Ilustrasi dari Wikipedia:

    Bagian atas adalah representasi huruf pada penyimpanan. Bagian tengah adalah huruf yang disusun sesuai urutan yang seharusnya dalam tulisan Arab. Bagian ketiga adalah proses display akhir, di mana seluruh huruf sudah disambung sesuai aturan penulisannya.

    Hal yang lebih rumit ada pada saat display tanda vokal atau harakat. Di mana satu huruf bisa memiliki lebih dari satu tanda vokal, misalnya fathah sekaligus tasydid. Maka display harus bisa menyusun tanda vokal ini agar nyaman dilihat. Ilustrasinya bisa dilihat pada artikel ini.

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Balas
e
Sunting
o
Show/Hide comments
t
Pergi ke atas
l
Go to login
h
Show/Hide help
shift + esc
Batal