View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005937||Scribus||NLS||public||2007-06-22 04:06||2016-11-17 11:54|
|Summary||0005937: Lao line wrapping and hyphenization|
|Description||Scribus has no capability for line wrapping and hyphenization for Lao. Lao, like Thai and Khmer is written in phrases without spacing between individual words. Currently Scribus is breaking lines in the middle of words. For a beginning solution to this problem. |
Never allow line breaks after 0EC0, 0EC1, 0EC2, 0EC3, 0EC4, 0EBB,0EB1, 0EBD.
Never allow line breaks before 0EAF, 0EB0, 0EB1, 0EB2, 0EB3, 0EB4, 0EB5, 0EB6, 0EB7, 0EB8, 0EB9, 0EBB, 0EBC, 0EBD 0EC6, 0EC8, 0EC9, 0ECA, 0ECB, 0ECD
This by no means solves the problem, but it is a good start. A dictionary approach, like Thai, could be used for the second phase of Lao text wrapping.
|Tags||CJK, HOST-Oman, scribusctl|
The following bug-track is for a similar problem in Thai.
As Thai and Lao are very close cousins with similar scripts and rules, the same principles should apply when solving the line wrapping problem. Anyone working on Lao (the minority language) should compare with what is being done with Thai. But without the line wrapping and then justification problem solved, scribus is not possible for Thai and Lao publishing. Unless one wants to physically manipulate each line of text. That is too much for a 100 page book.
||This should be added to the megabug 0003965 "Support for non-Latin languages" as a child.|
phetsarath_OT.ttf (92,864 bytes)
||Thanks for these infos, they'll be definitely useful.|
|Is this font GPL or other wise a freely distributable font ?|
This font is free and is distributed by the Lao Government.
Are hyphens used in Thai and Lao? If yes, in what cases?
Are spaces used at all in those languages?
Are there special rules for justification?
Spaces are used on the phrase/clause/sentence level and not to separate words. Sometimes a block of text can be more than one line long before a space occurs. So you have these blocks of phrases and scribus/OOo/MS word does not know where to break for Lao and inevitably breaks in the middle of a word. Our organization has over 10,000 lines of Lao text and growing daily. With each line broken in the middle of a word, it is quite difficult for us to publish anything. Thai works well in OOo and MS word.
There are rare cases of hyphenization in Thai and Lao. There must be special rules for justification, because in MS word you can either left, right, center, justify, or Thai justify as paragraph.
I don't have enough programming skills to be intelligent on this. I have some linguistic back ground and am fluent in Lao, but I am not a professional linguist.
IMHO the order of progress should be to
1. Define what a word is by
a. Use the rules that I added in the first post of this thread to define when a line break can NEVER occur based on certain morphological principles.
b. Create some kind of dictionary of words like Thai does. (I know Thai does this, based on my reading, but I don't know how.) I can supply a word list in Lao for the dictionary.
2. Create hyphenation rules.
3. Create Justification rules.
So I can help better, what programming language should I begin learning to help with providing scribus usability to the various countries of Southeast Asia?
||This thread should also be added as a child to "0003828 Metabug:Hyphenization"|
A relationship should be added to this current thread to 0003928 - Thai line breaking.
||bountonw : Would it be possible that you upload a short (utf encoded) text sample & the way it has to be render. I could test it with my brok^^improved scribus that pretends to support thai !|
You can copy the utf Lao from this site http://www.ict4dev.gov.la/lao/.
||I have invited a friend of mine, Theppitak, who who worked with LibThai and see what he has to say about this.|
I was confident because I saw a harfbuzz-thai.cpp in harfbuzz source tree but it happens that's a "non activated" feature :(
Engines present in harfbuzz are :
extern HB_Bool HB_TibetanShape(HB_ShaperItem *shaper_item);
extern HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item);
extern HB_Bool HB_ArabicShape(HB_ShaperItem *shaper_item);
extern HB_Bool HB_HangulShape(HB_ShaperItem *shaper_item);
extern HB_Bool HB_MyanmarShape(HB_ShaperItem *shaper_item);
extern HB_Bool HB_KhmerShape(HB_ShaperItem *shaper_item);
extern HB_Bool HB_IndicShape(HB_ShaperItem *shaper_item);
These are based on script and I don't know exactly if it covers a large range of non-latin languages.
||What is the status of this thread? Is more information needed about the Lao orthographic rules? How can we move forward from "Acknowledged" to "confirmed" and "assigned".|
|we wont assign anyone this yet, but adding better non-Latin support in Scribus is a high priority, but other parts of the code need addressing.. The new text layout routines in 1.3.5 will help. This is a long term project which we want to do properly from the start.|
Some news... ICU will now have Lao support as a result of a project completed by a friend of mine (bountonw on here), myself, and some others.
Does Scribus support using ICU libraries?
Also, the dictionary file used is available (open source) at: http://code.google.com/p/lao-dictionary/source/browse/
I would like to see if there is anyway we could get this included into Scribus soon, and am willing to help in any way I can, as time permits.
To wrap lines in Scribus with the Lao script (or other programs like InDesign), one need to have the syllable/word separator ZWSP (Zero-Wodth-SPace, Unicode U+200B) between words/syllables.
This can be accomplished in Windows on entering text by using LaoScript for Windows (free version) or afterwards using the tools provided by LaoScript (paid version).
In linux, separator can be put using the romanised keyboard (I have a modified/improved version available) provided vy the ibus system, or using a algorithm using the Alt Search&Replace extension of LibreOffice.
Any text in Lao script should have this ZWSP included, but unfortunately, most texts are produced without it as it is not necessary when using only Word or LibreOffice, who can recognise the word boundaries (I still do not know at which level these software do it).
A good way to also possibly getting this to work in a more streamlined way is to connect with the Host-Oman team that are currently working on RTL
The RTL code is in the 'ctl' branch
please see 0003928:0040860
you can test it via: https://github.com/HOST-Oman/scribus/tree/ctl#download
|2007-06-22 04:06||bountonw||New Issue|
|2007-06-22 07:09||jghali||Category||Translation => NLS|
|2007-06-22 11:01||bountonw||Note Added: 0016631|
|2007-06-22 11:08||bountonw||Note Added: 0016632|
|2007-06-22 11:16||bountonw||File Added: phetsarath_OT.ttf|
|2007-06-22 12:21||jghali||Relationship added||child of 0003965|
|2007-06-22 12:21||jghali||Severity||major => feature|
|2007-06-22 12:23||jghali||Note Added: 0016633|
||Note Added: 0016639|
||Status||new => acknowledged|
|2007-06-23 14:29||bountonw||Note Added: 0016642|
|2007-06-23 22:47||avox||Note Added: 0016647|
|2007-06-23 23:26||bountonw||Note Added: 0016649|
|2007-06-23 23:33||bountonw||Note Added: 0016650|
|2007-06-23 23:41||bountonw||Note Added: 0016653|
|2007-06-23 23:42||bountonw||Note Edited: 0016653|
|2007-06-23 23:43||bountonw||Note Edited: 0016653|
|2007-06-28 08:51||pierremarchand||Note Added: 0016689|
|2007-06-28 10:20||avox||Relationship added||related to 0003928|
|2007-06-29 02:11||laonux||Note Added: 0016695|
|2007-06-29 02:13||laonux||Note Added: 0016696|
|2007-06-29 21:25||pierremarchand||Note Added: 0016703|
|2008-07-14 09:52||bountonw||Note Added: 0019963|
||Note Added: 0019977|
||Status||acknowledged => confirmed|
|2013-09-22 12:25||rcampbelllaos||Note Added: 0030609|
|2015-12-02 12:19||Kunda||Relationship added||child of 0003828|
|2016-03-19 17:05||silvain||Note Added: 0039274|
|2016-03-20 18:03||Kunda||Note Added: 0039292|
|2016-11-17 11:49||Kunda||Tag Attached: scribusctl|
|2016-11-17 11:49||Kunda||Tag Attached: CJK|
|2016-11-17 11:49||Kunda||Note Edited: 0016631|
|2016-11-17 11:54||Kunda||Note Added: 0042448|
|2016-11-17 11:54||Kunda||Tag Attached: HOST-Oman|