Gauging interest for support of Indic and Right-To-Left Script in Scribus

Previous topic - Next topic

Kunda

This is just an initial post. I've seen time and time again on the bugtracker, mailing-list, and on the forum here... how there is a big want for support of Indic Scripts and RTL languages.

From what I've been able to understand this is no small task to implement. Also that there have been attempts and somewhat successes with getting it to work somewhat for example: there is a mythical branch, deep in the bowels of the SVN, that if one compiles can experience the richness of this feature working. I don't mean to sound facetious, i'm bringing humor to the process that is obvious: Most people don't know about this or how to compile this, including myself (sort of, I haven't allocated the time enough to learn git/svn/virtualbox/ubuntu/cmake etc...). Because it's not just learning 1 thing but exponentially learning several things at once which can derail the initial intent to work with Scribus.

So all that being said...I'm interested to help initially organize a group of folks that would pledge their support in whatever way to make this happen in Scribus. Perhaps we set up a 'Bounty' where we crowdfund a solution? Or perhaps we bring more awareness to this and create a buzz loud enough to attract folks to work on this, like Google Summer of Code 2014? I'm sure there are other ways as well. For now this is just a post to gauge interest. If you are interested, please respond to the thread and make sure you have the forum set to notify you when the thread updates.

Something might come of this or may not... It really depends on who steps up and how much they are interested in giving back to this amazing software. Hoping to hear from y'all.

Cheers,
Kunda

EDIT: Links of interest:
http://wiki.scribus.net/canvas/Complex_Script_Functionality

EDIT#2: Bugtracker links

EDIT#3: There is an indic patch in the contributor GIT repo as per this link

* Metabug: Support for non-latin languages
   http://bugs.scribus.net/view.php?id=3965

* Hebrew
   http://bugs.scribus.net/view.php?id=1726
   http://bugs.scribus.net/view.php?id=6689
   http://bugs.scribus.net/view.php?id=6016
   http://bugs.scribus.net/view.php?id=6017
   http://bugs.scribus.net/view.php?id=6013
   http://bugs.scribus.net/view.php?id=6014
   http://bugs.scribus.net/view.php?id=6005
   http://bugs.scribus.net/view.php?id=1364

* Devangri
   http://bugs.scribus.net/view.php?id=3680
   http://bugs.scribus.net/view.php?id=1547

* Arabic
   http://bugs.scribus.net/view.php?id=1079

* Khmer
   http://bugs.scribus.net/view.php?id=2920

* Chinese
   http://bugs.scribus.net/view.php?id=1493
   http://bugs.scribus.net/view.php?id=3162
   
* Lao
   http://bugs.scribus.net/view.php?id=5937
   http://bugs.scribus.net/view.php?id=1547

* Thai
   http://bugs.scribus.net/view.php?id=3928

* Tibetan
   http://bugs.scribus.net/view.php?id=4452

* Japanese
   http://bugs.scribus.net/view.php?id=3173

EDIT#4: A new Indic supported branch of Scribus. Please test it out and give feedback http://goo.gl/TJLEsA

silvain

I am insteresting in contributing whatever I can for support of Lao (maybe Thai script).
I am working with Lao OpenType fonts using postitioning features to place diacritics which work with LibreOffice (whatever the OS) but not with Sribus.
I could send you information to complete your page about the different languages, providing the recommended fonts and samples showing the problem.
I attach here a PDF test file comparing correct rendering (LibreOffice) and incorrect rendering (Scribus)


[attachment deleted by admin]

narayana

We at KOTTAPALLI DOT IN have been desperately- :(  waiting  :( - for complex script functionality to be realized in Scribus for last 8 years.  Because Telugu is not supported in Scribus,  we have been using Libre Office's limited ground to compile our magazine all these years. (Kottapalli is an open source children's-story-magazine, each of its currently 76 issues being a 68pager in Telugu lanugage) 
We heard about 4 years ago, that some progress has been made and some patch was produced to scribus-telugu, owing to the efforts of "Prajasakti".  That entire initiative seems to have fizzled out later...  Why, what happened? Can we ever be hopeful that something solid would ever emerge for scribus-India-Telugu?

Nermander

The support will be there when someone writes it. So the best way to make it happen is to help develop it.

Begging, asking, wishing... none of it helps. Paying someone money to do it might help, but that assumes that you find someone who is willing to do it for money.

narayana


a.l.e

hi nermander and narayana,

sadly, it's a bit more complicated than just throwing money at it and/or programming it.

as you might have found out, there is a guy who has already done much work to get scribus to support indic languages.

he has produced a scribus version that is supposed to get the work done and afaik is indeed in use in his state.
(i can't judget, since i can't read a word in any indic language)

sadly (2) he has done all the work without making any step by step patches, that would have been easier to integrate into the main scribus. nor has he been talking to the scribus team during his work (of course, it's possible that this has made it possible at all to get to a working product!)

by doing that, he has also added some new dependencies that cannot be added as such into the main scribus.

still, the chances to have the indic languages being supported by scribus are not that bad. but it needs somebody who can improve that code and is patient enough to provide the team with smaller patches that can easily be checked and merged.
that person should know both c++ and the indic languages (or two or more person with those skills should work closely together). and be very very patient.

there are few people who are currently active in the team and none of them knows much about indic languages (basically, only one has somehow a theoretically clew... luckily it's the guy who knows about displaying text!) so you cannot really wait for them to fix your issue.
sadly (3).

i think that for the near future we really have to hope that an indian team (or a crazy indian lonely programmer! :-) comes up and has both endurance (and you will need it!) and the skills to fix that!

it would be a huge step for scribus! (and for some indic languages, too!)

Kunda

OP here...thx for your contributions.
a.l.e, thanks for you patient and balanced reply, appreciate it :)

So nermander and narayana,
some of the scribus enthusiasts have been, in some capacity, trying to spur development for RTL/CJK support in Scribus. We've even added them to the github repo as their own team. Sadly so far it's been like herding cats, they all have their own lives and agendas and none are getting paid for the work. Especially since this type of thing would be very costly in a proprietary application.

One of the ways to contribute is to maintain enthusiasm about this and move away from negativity. People who contribute to open source do it for their own reasons. Some for philanthropy reasons, some for the challenge, some for the recognition etc...

In addition, if one was so inclined they could be proactive about organizing efforts to help RTL/CJK come alive. That is one of the reasons I originally wrote this post. Narayan, I encourage you to stick around and talk more about this, tweet about it, try to captivate folks to contribute to the effort. RTL/CJK in scribus could be a potential game changer as it would open up many more possibilities for people (for reasons communicated above ad nauseum).

Anyway...Thanks again for your contributing opinions.
/Kunda

a.l.e

Now, for once, let's go for something more practical and less philosophical...

During a discussion on IRC, Andreas (the guy who has done most of the work on Scribus' layout engine) drafted a list of task to be done :

- change PDF and PS code to work with glyph indices instead of Unicode
- change StoryText to separate glyphlayout from text
- integrate Harfbuzz
- integrate FreeBidi
- make Canvas work properly
- add UI for opentype features and other options

He is currently working on the PDF code and has ideas for Storytext...

The discussion had some more interesting bits... more to come?

a.l.e

And here more interesting bit:

QuoteWe need one or two skilled c++ programmers, with skills in layouting arabic glyphs and having already contributed to free software projects.

He (or she) should be ready to relocate up to three months to an arabic country and will oversight the work of about 20 students.

قواعد سكريبوس!
(as google translated it for me. but this forum does not seem to support RTL text...)

Kunda


tkbd

> Gauging interest for support of Indic and Right-To-Left Script in Scribus

I glad to hear this news. :)
Does harfbuzz library can layout text with TTB(Top to Bottom) ?
I using Japanese text, but currently Scribus can't layout TTB text and ruby.
FYR: https://sites.google.com/a/borndigital.jp/scribus/scribus-en (not my site)


Unfortunately,I don't have C++ programing skill,so I can't help you immediately.
To embark on CJK layout,it may be need more long time...
But. If CJK-related functions has added to ScribusCTL, I'm going to try out those.

Cheers!

tkbd

Kunda

Thanks for the patch. I've posted it to the ScribusCTL repo (https://github.com/andreas-vox/ScribusCTL)

The plan is to have CJK part of ScribusCTL. But it's not ready yet. You can follow development by 'watching' the project via github. Also you can contribute in other ways..for example:

libbybai

I'd be happy to pitch in with the QA, if only I would know how to install  ::)
I got as far as here: https://github.com/andreas-vox/ScribusCTL/wiki/Build-ScribusCTL and by the time I reached the line that begins with "clone to the local disk" I was complete lost.  :(

So if someone could help me with a detailed and 101dummy explanation (Mac OS X Yosemite, RTL - Hebrew) - I'm willing to learn and contribute with my extremely limited skills.

Thanks a bunch!

Kunda

Quote from: libbybai on September 28, 2015, 11:13:44 PM
I'd be happy to pitch in with the QA, if only I would know how to install  ::)

...

So if someone could help me with a detailed and 101dummy explanation (Mac OS X Yosemite, RTL - Hebrew) - I'm willing to learn and contribute with my extremely limited skills.

Hey @libbybai,
I'd be happy to help :)  I am the one who spearheaded getting the bleeding edge scribus (1.5.1svn or 'Trunk') to install on OSX via the Homebrew package manager.

You first need to install Homebrew which is package manager on OSX. All the instructions you can find on:
https://github.com/scribusproject/homebrew-scribus/
See if you can follow the instructions and if you run in to any issues let me know posting your issues in the github issue queue: https://github.com/scribusproject/homebrew-scribus/issues

For now, I suggest to help with testing Scribus 1.5.1 Roadmap (http://bugs.scribus.net/roadmap_page.php)
You can also introduce yourself on the Mailing List (lists.scribus.net) and give a hat tip to Ale because him and I are organizing help around ScribusCTL. Also a good move to help Scribus evolve right now is to help with translations. Since you are interested in Hebrew RTL you can help by signing up to Crowdsource Translation site where we are working to get Scribus translated. You can join the Hebrew team: https://www.transifex.com/scribus/scribus/language/he_IL/