Bekerja dengan Tanda Hubung
Terkadang perlu menggunakan tanda hubung untuk susunan teks yang lebih ringkas dalam dokumen. Pada saat yang sama, penting untuk dipahami bahwa kekhasan tanda hubung kata mungkin berbeda untuk setiap bahasa.
Saat ini, tanda hubung tidak lagi digunakan sesering dulu, terutama dalam teks bahasa Inggris. Namun demikian, penggunaan fitur ini dapat berdampak serius pada dokumen pengguna – tanda hubung memengaruhi tata letak dan, akibatnya, tampilan file keluaran, misalnya, dalam format PDF.
Untuk pemisahan kata yang benar, kamus tanda hubung khusus bahasa digunakan. Aspose.Words menggunakan algoritme tingkat lanjut untuk bekerja dengan kamus tersebut dan memungkinkan Anda mendapatkan tanda hubung yang sama seperti di Microsoft Word.
Kamus Tanda Hubung
Karena bahasa yang berbeda menggunakan norma dan aturan yang berbeda untuk tanda hubung kata, solusi optimal untuk tanda hubung yang benar adalah dengan menggunakan kamus khusus. Aspose.Words menggunakan kamus OpenOffice.
Untuk pemeriksaan ejaan, OpenOffice menggunakan perpustakaan Hunspell, yang merupakan generalisasi dari algoritma tanda hubung TeX. Algoritma ini memungkinkan tanda hubung non-standar otomatis menggunakan pola tanda hubung standar dan khusus yang bersaing. Hunspell menggunakan Tanda penghubung untuk tanda hubung.
Algoritma Tanda Hubung
Aspose.Words mengimplementasikan algoritma tanda hubung TeX dan dapat menggunakan kembali kamus tanda hubung OpenOffice.
Fitur-fitur algoritma Aspose.Words berikut harus dipertimbangkan:
- Parameter jarak tanda hubung (LEFTHYPHENMIN, RIGHTHYPHENMIN, COMPOUNDLEFTHYPHENMIN, COMPOUNDRIGHTHYPHENMIN) yang ditentukan dalam kamus tanda hubung diabaikan. Aspose.Words menggunakan serangkaian parameter jaraknya sendiri bergantung pada mode kompatibilitas dokumen.
- Algoritme tanda hubung di Aspose.Words mendukung tanda hubung komposit. Namun, Aspose.Words membagi urutan karakter yang berisi karakter campuran alfabet dan non-abjad menjadi bagian-bagian (kata) yang hanya berdasarkan alfabet dan memberi tanda hubung secara terpisah. Perhatikan bahwa logika tanda hubung Microsoft Word pada kata majemuk bergantung pada mode kompatibilitas dokumen.
- Algoritme tanda hubung di Aspose.Words tidak mengimplementasikan tanda hubung non-standar. Pola non-standar diabaikan.
Memuat Kamus Tanda Hubung
Untuk menggunakan fitur tanda hubung, pertama-tama daftarkan kamus tanda hubung. Contoh kode berikut menunjukkan cara memuat kamus tanda hubung untuk bahasa tertentu dari sebuah file:
Contoh kode berikut menunjukkan cara memuat kamus tanda hubung untuk bahasa tertentu dari aliran:
Sebagai alternatif dari prapendaftaran kamus tanda hubung, dimungkinkan untuk mendaftarkan hanya kamus tanda hubung yang diperlukan “berdasarkan permintaan”. Untuk mencapainya, implementasikan antarmuka IHyphenationCallback dan gunakan Callback callback statis.
Contoh kode berikut menunjukkan cara mengimplementasikan antarmuka IHyphenationCallback:
Dampak Tanda Hubung pada Tata Letak
Saat memecah teks menjadi beberapa baris, Aspose.Words memeriksa setiap kata apakah cocok sepenuhnya dengan baris saat ini. Jika kata lain terlalu panjang untuk ditempatkan di akhir baris, secara default Aspose.Words memindahkannya ke awal baris berikutnya alih-alih memberi tanda hubung.
Namun, fitur tanda hubung dapat digunakan di Aspose.Words untuk menyisipkan tanda hubung ke dalam kata guna menghilangkan kesenjangan dalam teks yang dibenarkan atau untuk mempertahankan panjang garis yang rata di kolom yang sempit. Hal ini jelas dapat mempengaruhi jumlah baris dan jumlah halaman. Dengan kata lain, penggunaan fungsi tanda hubung mempengaruhi tata letak dokumen.
Tanda Hubung dan Pembenaran (H&J)
Microsoft Word memiliki logika kompleks untuk memilih breakpoint jika teks diratakan dan tanda hubung diaktifkan. Singkatnya, Microsoft Word mungkin lebih memilih untuk mengecilkan atau meregangkan ruang untuk menghindari tanda hubung garis. Kemungkinan besar logika ini didasarkan pada artikel Knuth.
Aspose.Words mengimplementasikan algoritme H&J-nya sendiri yang memberikan hasil yang sama seperti Microsoft Word dan memberikan pemutusan baris yang identik pada dokumen keluaran.