Issue 14069

Summary: Problems with placement of Hebrew vowels (nikud | diacritics) in Linux
Product: Internationalization Reporter: pueyo <pueyo>
Component: BiDiAssignee: hdu <hdu>
Status: CLOSED FIXED QA Contact: issues@l10n <issues>
Severity: Trivial    
Priority: P3 CC: alan, arnonoss, issues, khirano, kzamir, mreimer, nadavkav, ooo-bugs, ulf.stroehler, xslf, yba, yuvaltanny
Version: OOo 1.1 Beta   
Target Milestone: ---   
Hardware: PC   
OS: Unix, all   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
stock OOo incorrectly rendering Hebrew vowels
none
OOo with patched ICU rendering Hebrew vowels with garbage
none
Windows version of OOo correctly rendering Hebrew vowels
none
OOo sxw document used to generate previous screenshots
none
patched libicule.so.22.0
none
Same file rendered using HDU's patched libicule, showing selection and rendering defects
none
the patch from ICU bugdatabase none

Description pueyo 2003-05-04 12:24:43 UTC
Hebrew vowels do not get placed correctly in Linux. They should go over or
beneath the consonants, but they are just placed following the consonants. This
is not happening in Win XP. I am not sure how the "sequence checking" option for
the CTL languages could effect Hebrew, but I tried it checked and unchecked and
did not help to solve the problem. I am not sure but I believe that Arabic
vowels do not have this problem. I am using Gnome2, and I have not way to test
this in a different enviroment.
Comment 1 pueyo 2003-05-06 06:20:37 UTC
I have been testing again, and I have new conclusions: it is partially
a matter of fonts and partially a matter of keyboards. If you use both
the lucidasans font and the "Insert->Special Character" menu the
vowels are placed perfectly beneath and over the consonants. If you
try to use any other unicode font (including the MSWin ones as Tahoma
or Times New Roman) the vowels are not correctly handle. Those MS
fonts work well in OO.org for Windows.

The standard Hebrew keyboard which comes with X is not working for the
vowels in OO.org but it works perfectly with any other Gnome2
application, so you have to use the "Insert->Special Character" menu
to get them (besides lucidasans, of course).
Comment 2 pueyo 2003-05-26 19:19:56 UTC
OO.org 1.1 Beta - 2 has solved the keyboard problem, so you can input
the Hebrew vowels as in any other Gnome2 application. Thanks!

However, the fonts problem remains. I have been testing again and I
have  new conclusions: the problem is just a matter of screen
rendering (or visualization). As I have metioned the only font is
redered OK is the one called "Lucida sans", but I have realized that
the version which comes with j2re is the only lucky one.

The vowels are not really put in the wrong place as I thought, they
are just viewed in the wrong place. If you chage the document view to
Web, then everything un every font is shown perfect.
Comment 3 Dieter.Loeschky 2003-06-05 10:04:32 UTC
DL->HDU: Could you please takeover?
Comment 4 philipp.lohmann 2003-06-06 10:59:36 UTC
probably more of issue 13254 and issue 14072, i'll have a look
Comment 5 thorsten.ziehm 2003-06-12 15:18:52 UTC
We will not support a full hebrew version in OOo1.1. Out of this
reason I set this task to OOo 2.0.
Comment 6 philipp.lohmann 2003-06-16 09:27:17 UTC
pl->hdu: welcome back
Comment 7 sforbes 2003-06-17 07:33:04 UTC
Just to note- this is not just a font problem. The same fonts in
windows wich displays Hebrew diacritics ok, fails to do so on linux.
Comment 8 hdu@apache.org 2003-07-17 13:27:42 UTC
Yes, I see the problem when the menu View->OnlineLayout mode is disabled. 
 
Comment 9 mreimer 2003-10-03 07:23:26 UTC
The simple patch at
http://www.jtcsv.com/cgibin/icu-bugs/incoming?id=3306, which works for
ICU 2.2 and 2.6.1, causes LayoutEngine to use OpenType to position the
vowels which makes a huge difference in legibility using the ICU
sample application gnomelayout (source/samples/layout).

So this gets us one step closer to having decent vowel rendering, but
this same patch for OOo's libicule results in messed up output. Why is
OOo bothered by ICU using the OpenType path for Hebrew rather than the
non-OpenType? Hopefully only a minor tweak is needed to get OOo and
ICU to cooperate better in this case. I would appreciate any pointers
to figure out this problem.

For comparison, I attach a png of OOo without a patch; of OOo with the
patch; and of the Windows version of OOo showing the same file as a
benchmark of working Hebrew vowels. Note that daghesh and hiriq are
especially troublesome, as well as seghol with consonants that have
descenders. Also attached is the sxw file used to generate these
screenshots.

The screenshots were made with the font "Ezra SIL" (SILEOT.ttf)
available at http://www.sil.org/computing/fonts/silhebruni/download.htm.

See ICU bug 3306
(http://www.jtcsv.com/cgibin/icu-bugs/incoming?id=3306) for more
information and screenshots. Here's the patch, which is the same for
ICU 2.2 or 2.6.1:

--- HebrewShaping.cpp.orig      Tue Jun  3 15:58:22 2003
+++ HebrewShaping.cpp   Fri Oct  3 00:07:21 2003
@@ -11,12 +11,14 @@
 
 U_NAMESPACE_BEGIN
 
-const LETag ligaFeatureTag  = 0x6C696761; // 'liga'
+const LETag ccmpFeatureTag  = 0x63636d70; // 'ccmp'
+const LETag kernFeatureTag  = 0x6b65726e; // 'kern'
+const LETag markFeatureTag  = 0x6d61726b; // 'mark'
 const LETag emptyTag        = 0x00000000; // ''
 
 const LETag hebrewTags[] =
 {
-    ligaFeatureTag, emptyTag
+    ccmpFeatureTag, kernFeatureTag, markFeatureTag, emptyTag
 };
 
 void HebrewShaping::shape(const LEUnicode * /*chars*/, le_int32
/*offset*/, le_
int32 charCount, le_int32 /*charMax*/,
--- LayoutEngine.cpp.orig       Thu Oct  2 00:05:44 2003
+++ LayoutEngine.cpp    Thu Oct  2 23:44:37 2003
@@ -428,6 +428,7 @@
             break;
 
         case arabScriptCode:
+        case hebrScriptCode:
             result = new ArabicOpenTypeLayoutEngine(fontInstance,
scriptCode, l
anguageCode, gsubTable);
             break;
 

Comment 10 mreimer 2003-10-03 07:25:20 UTC
Created attachment 9920 [details]
stock OOo incorrectly rendering Hebrew vowels
Comment 11 mreimer 2003-10-03 07:26:33 UTC
Created attachment 9921 [details]
OOo with patched ICU rendering Hebrew vowels with garbage
Comment 12 mreimer 2003-10-03 07:27:19 UTC
Created attachment 9923 [details]
Windows version of OOo correctly rendering Hebrew vowels
Comment 13 mreimer 2003-10-03 07:28:10 UTC
Created attachment 9925 [details]
OOo sxw document used to generate previous screenshots
Comment 14 hdu@apache.org 2003-10-20 14:23:42 UTC
HDU->Matt: Did you use the original ICU 2.2 or OOo's patched ICU for
your test? With your patch on OOo's ICU it looks good to me, so if you
can confirm that it works I'd be happy to put it into OOo1.1.1 or
1.1.2. I'm attaching the (OOo+your) patched linux libicule binary.

Are you sure that replacing the use of OpenType's "liga" feature by
the "ccmp"+"kern"+"mark" features would not cause problems with some
fonts?

Also Eric's reply in http://www.jtcsv.com/cgibin/icu-bugs/incoming?id=3306
worries me. Of course he has right. To get important fonts like
"David" to work faking GSUB/GPOS etc. is a good idea.

What do you suggest?
Comment 15 hdu@apache.org 2003-10-20 14:28:18 UTC
Created attachment 10491 [details]
patched libicule.so.22.0
Comment 16 mreimer 2003-11-15 06:51:04 UTC
Herbert, thanks for the libicule.so. Your version no longer draws
boxes. After wasting much time I realized that OOo's icu-2.2-patch is
a little different than IBM's version, and includes the code to remove
"deleted" characters. So the GSUB stuff (dagesh, sin/shin dots, etc.)
seems to work fine.

But even with the boxes gone, there is still a problem with the
rendering of vowel points and with text selection. Many of the vowels
are misplaced, but more distracting is that some consonants end up
with extra space between them which makes them look like separate
words. I'm attaching another screenshot to show this.

Text selection: OOo fails to highlight the entire line. This is
visible in the screenshot; I highlighted the line by pressing Home
then Shift-End, and also tried the mouse to the same effect. Somehow
the effects of ICU rearranging the vowel glyphs using the font's GPOS
tables messes up text measurement. A line of text without any vowels
can be selected perfectly.

These two problems are probably related to measuring glyph width and
advance. I'm not sure how to proceed from here. Can you suggest where
I might look next?

I do not recommend committing my patch until these two problems are
resolved. The pre-patch output is the lesser of these two evils.

Matt
Comment 17 mreimer 2003-11-15 06:52:46 UTC
Created attachment 11283 [details]
Same file rendered using HDU's patched libicule, showing selection and rendering defects
Comment 18 mreimer 2003-11-15 07:10:12 UTC
BTW, with regard to my last comment, compare the screenshot of faulty
rendering to the attachment "Windows version of OOo correctly
rendering Hebrew vowels."

With regard to your other questions: "Are you sure that replacing the
use of OpenType's "liga" feature by the "ccmp"+"kern"+"mark" features
would not cause problems with some fonts?..."

Since "kern" and "mark" are GPOS features they don't conflict with
"liga" (which is a GSUB feature). These two shouldn't break rendering
with other fonts, as long as the layout engine only applies those
features for fonts that have those tables. So "kern" and "mark" should
be safe for any font.

Regarding "liga," I would suggest using the font's GSUB tables unless
the font doesn't have any, in which case we should fall back to using
the fake 'liga' table.

Eric said he thought he could change ICU to query the font for the
existence of "ccmp" tables without breaking any public API, and that
he's going to think about what should be done about "ccmp" and "dlig"
vs "liga".

I hope this helps.

Matt
Comment 19 sforbes 2003-12-03 14:02:15 UTC
dina: fwi
Comment 20 sforbes 2004-01-24 02:52:04 UTC
>The standard Hebrew keyboard which comes with X is not working for the
>vowels in OO.org but it works perfectly with any other Gnome2

the lyx keyboard variant under Xfree 4.3 does allow to enter Hebrew diacritics
under linux, however they do indeed go after the charachter instead of
under/over it.

Basicly, entering Hebrew diacritics (or viewing Hebrew diacritics) under linux
is completely broken.

----
To setup the lyx Hebrew keyboard variant under Xfree 4.3, use something similar
to my setting in XF86Config:

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option      "XkbLayout" "us,il"
	Option  "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll"
	Option "XkbVariant" ",lyx"
EndSection

Hebrew diacritics are in Shifted Hebrew positions
Comment 21 sforbes 2004-06-15 22:57:07 UTC
*** Issue 26065 has been marked as a duplicate of this issue. ***
Comment 22 christof.pintaske 2004-06-17 17:12:53 UTC
cp: retargeted to Office-Later due to limited ressources
Comment 23 alfrenovsky 2004-09-30 21:28:37 UTC
sforbes said: "Basicly, entering Hebrew diacritics (or viewing Hebrew
diacritics) under linux is completely broken."

I set the keyboard distribution and variant with KDE. I´m using Israeli keyboard
with lyx variant and I can write  vowels in konqueror, evolution and many other
softwares. The only problem is in OOo.
Comment 24 sforbes 2004-12-20 00:15:17 UTC
Is anyone looking into this? A school here wants to deploy OOo on Linux as a
"model project" (which will be deployed in more schools if this goes well), and
they need diacritic support under linux.
Comment 25 mreimer 2005-01-04 20:54:23 UTC
HDU: Do you have plans to upgrade to the latest ICU (3.2)? It renders Hebrew
diacritics without any patching.

sforbes: I'm tinkering with it again. I don't have much skill inside OOo, but
maybe I can diagnose the problem for others to fix.
Comment 26 dov 2005-01-09 16:43:27 UTC
As one of the main authors of the Hebrew rendering module in pango I wish that
OO would be using pango. As I am aware that that is not going to happen in the
near future, may I suggest that the heuristics for wovel placement that I
created in the Hebrew rendering module be copied. It is obviously not as good as
real OpenType GPOS table support, but it has the advantage that it works also
with fonts without such tables.

Look at hebrew_shaper_get_cluster_kerning() in
pango/modules/hebrew/brew-shaper.c in the pango cvs.

Comment 27 shemtovo 2005-01-13 23:08:22 UTC
when will you fix the tham thing??!??!!
Comment 28 pueyo 2005-01-21 00:41:44 UTC
Well, it's been 20 months since I first reported this problem. I remember that
solving this issue was targeted OOo 2.0 but I have just tried the 1.9.65
developer version and the issue is still there. What it surprised me is that it
keeps working perfectly with my Lucida Sans Unicode font. I can provide the font
so you can figure out what it is going *right* with it. Let me remind you that
this is an OO.org (Linux Version) issue and not a general Linux problem since
Gnome (thanks Pango) and KDE handle Hebrew diacritics very nicely.
Comment 29 mreimer 2005-01-21 01:15:12 UTC
This issue also affects OS X.
Comment 30 hdu@apache.org 2005-01-21 10:14:32 UTC
OOo'S text layouter is ready for ICU 3.2, but AFAIK some other parts of OOo are
not ready for an update... Since ICU's layout engine is somewhat independent of
other parts of ICU it may be possible to have a mix of new layout engine and old
ICU 2.6. But this would mean a support nightmare. I'd much rather wait for the
other parts of OOo to become ready...
Comment 31 fqs7432 2005-01-21 12:31:10 UTC
Well, Pango and Qt handle the screen well, except for the dagesh (shift-d on 
the lyx variant of the Israeli keyboard). Pango can even handle the printing 
well, but only gedit seems to use that faculty. Abiword and all kde apps choke 
a bit on printing by shifting all the diacritics in the OOo way. I filed a bug 
report on the kde site (http://bugs.kde.org/show_bug.cgi?id=96858 ) and 
eventually with Trolltech, they confirmed it, and are going to produce a patch 
for the next version of QT (or so I was told. If OOo has such trouble with 
this issue, I hope this doesn't mean that it is programatically too difficult 
for rapid fixing). 
 
I downloaded the Lucida font and will test them later. However, I fear I know 
too little about fonts to figure out what that font does right. 
Comment 32 fqs7432 2005-01-21 14:33:31 UTC
I just tested Lucida Sans and a few other fonts, and believe I understand how 
LS works. First of all, it doesn't work well; the diacritics aren't well 
centered. Second, I believe I understand somewhat why. The diacritics seem to 
have their own length, and that length is better set than in other font 
collections. However, since the diacritics have their own length (so I 
speculate) instead of their length and position being proportional to the 
letter they relate to, a diacritic may shift near a yod or similarly 
non-average width letters. That is a solution that works somewhat and it is 
the best we can do with OOo, however, I can't wait for the new ICU (3.2) to be 
integrated in OOo. 
 
Is my analysis kind of right? 
Comment 33 mreimer 2005-02-05 00:05:58 UTC
Another data point: with the patch I mentioned previously, and with a good
OpenType font (SBL Hebrew, Ezra SIL, or Cardo), in "Online Layout" mode the
vowels/nikud render perfectly. Actually this isn't really a new data point,
because HDU mentioned earlier that he sees this rendering problem with Online
Layout disabled; just wanted to make clearer that OOo can in some instances
render Hebrew nikud/vowels properly.
Comment 34 hcy 2005-02-24 23:03:10 UTC
Hi, I'm suffering from this problem as well - I do a lot of writing with vowels
and cantilation marks and currently can only do so in MS word in windows. I'd
prefer to be able to use OO in linux, since I'd like to be MS-free.  Is this
going to be fixed anytime soon?
Comment 35 hcy 2005-02-24 23:07:54 UTC
oh, one other comment - the bible with cantilation marks from mechon mamre works
fine in konqueror. but not in mozilla, and not in scribus.
Comment 36 jenskhmeros 2005-02-25 01:52:45 UTC
Reading the bugreport for ICU 
(http://www.jtcsv.com/cgibin/icu-bugs/incoming?id=3306) revealed that there 
are diff's associated to it.   
 
It looks like these changes will fix a error in the GPOS and GSUB processing 
of ICU. As far as see is the changed code also in ICU 3.2  
 
It might be of interest to add this patch to the ICU 2.6 patch of OOo? 
 
I have combined the diff's and will attach them to this bugreport.  
 
Jens 
Comment 37 jenskhmeros 2005-02-25 01:55:37 UTC
Created attachment 23011 [details]
the patch from ICU bugdatabase
Comment 38 ign 2005-05-17 09:02:59 UTC
Does anyone know whether this problem has finally been fixed in 2.0 Beta? If
not, will it be eventually fixed in 2.0? 

How can I rebuild ICU 2.6 using the above patch? (I mean, where should I get the
"original" source?)

For now I am stuck with Windows.... very sad :(

Thanks!
Comment 39 livne 2005-05-17 09:42:51 UTC
The vowels problem is solved long ago, as far as I am concerned. I use
OpenOffice.org 1.1.4 - binary installation on Gentoo Linux, and it is perfect. I
have edited the whole Pessach-Haggada with Nikud (I took the Haggada text using
cut&paste from
http://he.wikisource.org/wiki/%D7%94%D7%92%D7%93%D7%94_%D7%A9%D7%9C_%D7%A4%D7%A1%D7%97

and I had no problem editing and printing (to pdf) the all document, full of
voweled hebrew.

FYI

Shahar Livne
Open Source Development and Support
http://livnex.com
Comment 40 elez 2005-05-17 09:43:30 UTC
as of m100 (tested on Linux) the problem remains as it was. I also tested,
perhaps m95 or m93 on windows and the problem still exists there as well.
I can't help you with any compilation/patching problem, I CAN, however, give you
this link:
ftp://mirrors.dotsrc.org/openoffice/developer/680_m100/
for instance. any other mirror would do. the source files are there.. (change
the /680_mXXX/ to current milestone)
good luck! :)
Comment 41 mreimer 2005-06-14 06:59:07 UTC
The patch for IZ 50571 seems to fix Hebrew vowel rendering, at least for my m77
build. I'll try to build a clean m109 with and without this patch.
Comment 42 mreimer 2005-06-22 09:11:22 UTC
I have verified that Hebrew vowels/diacritics are rendered properly now, with four patches against m110:

1) my ICU patch, posted here Oct 2003
2) the ICU patch from IZ 50571
3 & 4) two small hdu patches against sallayout.cxx and gcach_layout.cxx.

Comment 43 hdu@apache.org 2005-07-15 10:52:02 UTC
Retargeting, since all patches needed to solve this are now available.
Comment 44 hdu@apache.org 2005-07-15 11:48:09 UTC
Fixed in CWS gslpatches4.
Comment 45 hdu@apache.org 2005-07-20 11:46:30 UTC
HDU->US: Please verify in CWS gslpatches4.

Testing hints: Install the SILEOT.ttf and SILEOTSR.ttf fonts. Load the
Genesis.sxw bugdoc.

re-open issue and reassign to us@openoffice.org
Comment 46 hdu@apache.org 2005-07-20 11:47:04 UTC
reassign to us@openoffice.org
Comment 47 hdu@apache.org 2005-07-20 11:47:49 UTC
reset resolution to FIXED
Comment 48 ulf.stroehler 2005-08-04 12:59:57 UTC
verified in 'gslpatches4'.
Comment 49 pueyo 2005-09-22 22:35:29 UTC
I am trying ubuntu breezy's newest packages for OpenOffice.org2 (based on build
129 I think) and the problem with vowels remains. Any clue about when paches
will be applied to the main tree? will your fix make it for the final release?
Comment 50 pueyo 2005-09-23 01:11:41 UTC
I think the problem is still there. Something has changed though. In my last
post I had only tried using Times New Roman, Tahoma, FreeSans, Babel Unicode,
etc. and all of them still do have the same  placement problem. Now I have just
tried using Ezra SIL and this one looks OK (as well as Lucida Sans ... which
always did) ... I think Ezra was used for testing the fix and not the more
popular all-purpose MS fonts.
Comment 51 mreimer 2005-09-23 02:06:57 UTC
Those fonts probably don't have GPOS tables to use to position the vowels, 
whereas fonts like Ezra SIL, SBL Hebrew, and Cardo do. Because of this, those 
Microsoft fonts aren't good for Hebrew. 
 
Did previous versions of OOo render properly with those fonts? 
 
I think ICU may have used a heuristic for older fonts without GPOS tables, but 
this heuristic method of vowel positioning is no longer used. 
Comment 52 pueyo 2005-09-23 11:40:50 UTC
I tried Cardo, Ezra SIL, BSL Hebrew and Lucida Sans. All of them look good now,
so the problem remains with fonts not really designed for Hebrew (Times, Tahoma,
etc.). I am still a little confused because I have tried Cardo in OOo 1.1.4 and
also looks OK (as well as Lucida Sans). So AFAK the situation from OOo1 to OOo2
has changed only for the Ezra and BSLHebrew fonts.
Comment 53 ulf.stroehler 2005-09-30 16:24:00 UTC
verified in mws m130.
Comment 54 fqs7432 2005-10-30 17:30:16 UTC
I am using OOo2.0 for Fedora Core 4, and just tested all fonts on my machine 
(including the ms-webfonts) and the problem remains. Yet this bug report has a 
status of closed and fixed. What's going on? 
Comment 55 mreimer 2005-10-30 23:01:52 UTC
I would guess that what's going on is that you have no OpenType Hebrew fonts that have the built-in 
smarts (GPOS 'mark' tables, IIRC) to position vowel marks etc. Have you tried the test document with a real 
Hebrew font like SIL Hebrew, Cardo, or Ezra SIL?

I think was happening before is that when rendering with fonts that did not have vowel positioning 
information, ICU would use a heuristic method of guessing where vowel marks should go. A compromise 
might be to detect whether the font has 'mark' tables, and to use the heuristic method as a fallback if it 
doesn't.

Nevertheless, for accurate Hebrew rendering an OpenType font with vowel positioning tables should be 
used.
Comment 56 ikonst 2005-10-31 00:21:31 UTC
So this means there was a regression in ICU? I understand we keep a copy of ICU
in our tree so during the regular syncing of ICU version, we picked up this
regression as well.

One would think that feature was stripped from layout/LayoutEngine.cpp at some
point:
http://dev.icu-project.org/cgi-bin/viewcvs.cgi/icu/source/layout/LayoutEngine.cpp

Don't have the time nor the experience to verify it, but this could give a
headstart.
Comment 57 fqs7432 2005-10-31 17:51:29 UTC
[user@localhost ~]$ rpm -qa|grep fonts 
<SNIP> 
fonts-hebrew-0.100-4 
msfonts-1.2.1-1 
^^^^^^^^^^^^^ 
 
Wouldn't you expect at least the fonts-hebrew-0.100-4 to be OpenType? It is, 
after all, from the Culmus project. 
Comment 58 mreimer 2005-10-31 18:20:27 UTC
I don't think the MS fonts have the 'mark' GPOS tables. And as far as I can 
tell, all the fonts are Postscript fonts (not OpenType), except for the alpha 
font Frank Ruehl OT. 
Comment 59 fqs7432 2005-10-31 19:19:55 UTC
I just installed SPezra, SPdamascus and SPtiberian, tried to write "ani" with  
nikud, and saw the beautiful result: perfectly placed vowels, but ... under  
the wrong letters. The patach was under the nun and the chirik under the yod.  
Something isn't right here. I then downloaded SIL Ezra from  
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=SILHebrUnic2#3fee5fec  
but couldn't get that one to work. Any other link available for a good  
opentype font?  
Comment 60 pavel 2005-10-31 19:29:20 UTC
I know this is the wrong place to ask, but I couldn't find an answer for this
question anywhere. How do I place nikud in linux?
Comment 61 mreimer 2005-10-31 19:37:28 UTC
Probably the best is SBL Hebrew, available at 
http://www.sbl-site.org/Resources/default.aspx. 
 
Also, make sure you start by rendering a known-good document, to make sure the 
characters are in the correct order; i.e., generally the vowels are typed 
*after* the consonant. The SBL Hebrew documentation has a lot of information 
about Hebrew Unicode issues. 
Comment 62 fqs7432 2005-10-31 23:21:59 UTC
Well, had the vowels appeared to the right of where they were expected, you 
could think I typed them before the letters. However,, given that they 
appeared to the left of the letters, one can conclude that I didn't type 'em 
too early. In fact, I checked with Lucida Sans Unicode and there it works, 
only there. I also downloaded the SBL fonts, but there too, nikud is off. HELP 
 
PS: using the OOo 2.0 for FC4. 
Comment 63 mreimer 2005-10-31 23:44:01 UTC
fqs7432: Have you tried loading the test document "Genesis 1.sxw"? 
Comment 64 fqs7432 2005-11-01 06:33:39 UTC
mreimer, thanks for your suggestion. I now have five supposedly OpenType 
fonts, Ezra SIL, three from the society of Biblical literature (SPDamascus, 
SPTimerian and SPEzra) and Lucida Sans Unicode. Genesis.sxw is displayed 
properly, because it uses the best of these fonts: Ezra SIL. the three SBL 
fonts show the problem I described, of having beautiful nikud, but under the 
wrong letter. The Culmus fonts are not [yet, hopefully soon will be] OpenType, 
and neither are the ms-webfonts. Lucida Sans Unicode works, as is well known, 
but doesn't work well, as the dagesh is too far to the left. 
 
Interestingly, yesterday evening, I couldn't get Ezra to work, even after 
numerous `xset fp rehash` and numerous restarts of OOo. Today, not having 
rebooted, I started OOo again, to display Genesis.sxw, and the whole thing 
works, even in other documents. 
 
In conclusion, it is indeed the fonts that are broken, not OOo, although it 
would be nice if (a) Culmus becomes OpenType, and (b) OOo gets a better 
heuristic algorithm to correctly deal with non-OpenType fonts. 
 
While bemoaning the lack of OpenType fonts, I will say that better two working 
fonts than none. 
 
Thanks to you all! 
Comment 65 mreimer 2005-11-01 06:50:52 UTC
fqs7432: The SBL fonts you mention are not the ones you want; you want the font 
named "SBL Hebrew" available at 
http://www.sbl-site.org/Fonts/SBLHebrew-Distributionv1.11.zip. 
 
FWIW, Ezra SIL works fine for me here. Note that there is another SIL font 
named (I think) SIL Ezra that is *not* OpenType. 
Comment 66 ikonst 2006-03-04 14:30:32 UTC
Was the support for proper placement of nikud with stock Microsoft Office fonts
(such as Narkisim) declared WONTFIX?
Comment 67 gabbiz 2006-06-20 01:06:59 UTC
Closed??? Why is this issue closed?

As of OpenOffice 2.01, the problem still persists. See for yourself in this
snapshot:

http://img2.tapuz.co.il/forums/1_80288281.png

This is with "David CLM" - a font designed especially for Hebrew.

While it is possible that some fonts are more problematic than others, we laymen
users don't know how to distinguish between "well behaving fonts" and "ill
behaving fonts". If the problem lies indeed in "bad fonts", could you please
release some requirement or criteria list for which fonts to use?

Also, how could a keyboard effect the location of the vowels???

I would love to see this issue fully resolved, so that I can dump Windows for
good. At the moment I have no choice buy continue using OpenOffice on Windows
(the problem does not exist there).

Thanks!

Comment 68 wise_ferret 2006-06-20 06:51:37 UTC
This bug is alive and kicking, and should not be closed. The CLM family fonts
(known as CULMUS) are by far the best looking and most popular Hebrew fonts for
Linux. Moreover, word vowels work properly with these fonts both with gedit text
editor and firefox browser with Pango support. This problem occure only in
OpenOffice, and unfortunately it is the place where word vowels are most needed.
Word vowels are used not only for biblical text; they are essential for poetry
and for any kind of text produced for young people. I, for example, translate
poetry, and feel really crippled by that OpenOffice bug. Please, please re-open
it and solve it.
Comment 69 sforbes 2006-06-20 08:11:38 UTC
Indeed, it seems that the fix here is too narrow in scope.
Although it works for biblical uses with fonts designed for that, it fails to apply to "regular" uses with 
"regular" Hebrew fonts (which work OK under OpenOffice for Windows).

re-opening 
Comment 70 ulf.stroehler 2006-06-20 10:16:33 UTC
Shoshana, all,
has anyone tried to reproduce this bug against official OO.o 2.0.2 build from
the OO.o webside?
Thx, Ulf.

transferring to ES.
Comment 71 fqs7432 2006-06-20 11:48:42 UTC
Besides the four fonts mentioned by mreimer, it is true that there aren't many 
freely available OpenType fonts. Indeed, some applications properly display 
vowels on non-opentype fonts, and this should become possible OpenOffice. 
However, perhaps we should also ask the Culmus project whether they could 
OpenType their fonts?
Comment 72 guss77 2006-06-20 13:18:53 UTC
My system exhibit this issue with a RedHat packaged OpenOffice.org which claims
to be 2.0.3-0.169. Is it comparable (in the context of this bug) to the official
OpenOffice.org build 2.0.2 (*)?

(*) which I downloaded but my system complains this would be a downgrade so I
wanted to ask here first.
Comment 73 aviel 2006-06-20 13:29:10 UTC
If someone can instruct me how to test the 'nikud', I'll be glad to test it on
my system (FC5).
Which font to use? How to install it? how to eneter Nikud?
Comment 74 fqs7432 2006-06-20 16:04:10 UTC
aviel,

You need to set the right keyboard map and install some OpenType fonts. If you 
use kde, you can select the Israeli keyboard of the lyx variant. Then, shift 
quf will be qamatz, shift-samakh segol, shift-tsadi tseyre, etc. As for 
OpenType fonts, mreimer has provided four names and some links in this bug 
report, just search the page for Ezra, Cardo, SBL. You can also use Lucida 
Sans Unicode, which, I believe, is distributed by MS.
Comment 75 sforbes 2006-06-20 17:29:59 UTC
>You need to set the right keyboard map and install some OpenType fonts

This is what's bothering me: The Windows version of OpenOffice supports Nikud
with non-open type fonts, this bug was originally opened for all fonts, not just
open type, and yet a fix which it's scope was smaller (ie, for open type only
fonts) marked the full bug as closed.

Can someone please refer me to where it was discussed that support for Nikud
with non open type fonts would be a Windows-only feature?

If no such decision was made, IMO we should have this bug open until we have a
fix for non open type fonts as well, especially considering the fact that most
free (both as in beer and as in speech) fonts available for Hebrew are not open
type.

Comment 76 mreimer 2006-06-20 18:23:10 UTC
The *only* way to have truly correct placement of nikud/vowel points/diacritics
is to use an OpenType font, which is what OOo currently does.

The old OOo used to use a heuristic method of positioning nikud/vowel
points/diacritics by guesswork, which is prone to breakage. I think it does not
work with multiple marks on a single consonant, for instance. The problem is
that non-OpenType fonts only have glyphs for nikud, but no positioning
information--this is why non-OpenType fonts are inadequate for proper Hebrew
nikud support. The best that can be done with these fonts is to guess, which is
at best completely inadequate for serious Hebrew word processing and publishing,
and at worst completely broken for more complex rendering such as multiple marks
on a consonant.

To satisfy both needs (proper rendering on the one hand, and better rendering
with non-OpenType fonts on the other hand), ICU could be patched to use the old
heuristic method if the font used for rendering does not have OpenType tables
(particularly the 'mark' and 'kern' GPOS tables). For someone who knows ICU,
this would probably involve just a couple of lines in the right place to query
the font for the existence of these GPOS tables.
Comment 77 gabbiz 2006-06-20 18:24:57 UTC
> IMO we should have this bug open until we have a
> fix for non open type fonts as well.

Or... open a *new* bug? More focused and more specific? With as much information
as possible, as to guide the experts as much as possible?

I wish I could help with fixing the bug, but unfortunately I don't know much
about font technology, not to mention the specific piece in the OpenOffice
source code that handles Nikud (Hebrew diacritics).

My gut feeling tells me that if OpenOffice used the Pango library, the problem
would be easily fixed.



Comment 78 eric.savary 2006-07-24 09:13:22 UTC
ES->HDSU: please evaluate.
Note: this issues is a "patch" set as "NEW", part CWS "gslpatches4" which is
already integrated... there's something wrong here!
Comment 79 alan 2006-09-12 12:15:30 UTC
ayaniger->hdu:
Have you had a chance to consider how to deal with this issue? As Shoshannah has
pointed out, at present support for Nikud with non open type fonts is a
Windows-only feature. This is a severe limitation for the use of Hebrew OOo
under Linux.
Comment 80 Martin Hollmichel 2006-09-29 11:48:50 UTC
adjust target to 2.x
Comment 81 hdu@apache.org 2006-11-08 13:45:03 UTC
I agree with mreimer on what the status is and what should be done.
1.) split this issue up into the fix for OpenType fonts and non-Opentype fonts
=> this issue 14069 can get closed since it works since CWS gslpatches for OTF
2.) wait for the CWS "icuupgrade" to be integrated, then test with the new version
3.) if the problem is still there then open an issue for the non-OTF scenario
and attach the patch for ICU that fixes it
Comment 82 hdu@apache.org 2007-04-17 14:36:24 UTC
Here is the status from the three action items mentioned above:
1) is still solved
2) CWS icuupgrade is integrated in builds SRC680_m197 and newer
3) X11 fonts are disabled by default now, so there should not be much of a
problem left.
Comment 83 mreimer 2007-04-17 19:53:33 UTC
I tested with OpenType fonts on SRC680_m197 on FreeBSD and 2.2 on OS X, and it
looks fine.

hdu, thanks for all your work on this over the years!
Comment 84 hdu@apache.org 2007-04-18 09:38:14 UTC
Great! So I can finally close this long and complex issue... ;-)
Comment 85 nadavkav 2008-01-28 18:48:03 UTC
i'm using OO localized (Hebrew) version 2.2 based on OOo
and this issue is still unsolved for TrueType fonts.

please reopen 
or have a new (more specific) bug issue for TT fonts ?
Comment 86 mreimer 2008-01-28 19:06:26 UTC
nadavkav: Have you tried using a font SBL Hebrew? Nikud/diacritics only get
placed properly for TrueType/OpenType fonts that have GPOS tables specifying
nikud placement.
Comment 87 yba 2008-01-29 02:48:26 UTC
Hi Nadav, others,
We are not going to re-open this issue because there is no problem when you use
OpenType fonts with correct GPOS positioned diacritics. This is a font issue,
period.

The Hebrew OOo project is not going to spend any more resources on this topic.
This is not a bug.

There is no heuristic that places Hebrew diacritics correctly or even
satisfactorily for all fonts in all sizes. It is not possible to write such a
heuristic because of the irregularities in the glyphs between fonts and between
sizes within fonts. Only an artist can place the diacritics correctly.
OpenType GPOS tables provide the solution to this problem.

Try MasterFont's new Hebrew fonts with GPOS diacritics.
Comment 88 pueyo 2008-01-29 22:25:27 UTC
I understand that you do not work on this issue due to limited resources. This
is perfectly fine, I would never vote to expend valuable resources on it.
However I still think that this is a bug (enhancement bug at least?) that other
word processors (even the humble gedit or abiword in linux, not to speak of MS
Word in Windows) do not have. It is in fact possible to have decent nikud
without proper font GPOS tables (pango does just that). There are not
free/opensource Opentype Hebrew fonts with proper GPOS tables for nikud, so we
can not use OOo to write Hebrew with diacritics in a truly free software
environment (and that could be considered a bug).
Comment 89 mreimer 2008-01-29 22:48:01 UTC
pueyo: There are indeed free/opensource fonts with GPOS tables--in fact, the
best fonts are free: SBL Hebrew and Ezra SIL. At one point SBL Hebrew was the
only OpenType font that could properly render every combination of nikud in the
Hebrew Bible. Cardo also has GPOS tables for Hebrew. All are free for
non-commercial use. Ezra SIL is available under the Open Font License. Check
these out:

http://www.sbl-site.org/educational/BiblicalFonts_SBLHebrew.aspx
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=EzraSIL_Home
http://scholarsfonts.net/cardofnt.html

It's likely there are others.
Comment 90 pueyo 2008-01-29 23:09:43 UTC
mreimer: I was not aware that Ezra SIL was available under the Open Font
License, which is a truly free licence. SBL Hebrew and Cardo have "freeware"
licences so they can be used for no commercial purposes but can not be modified.

So I gladly correct my previous comment: OOo+Ezra SIL can be used to type Hebrew
with nikud in a truly free software environment. Thank you.
Comment 91 yba 2008-01-30 04:33:09 UTC
yba->pueyo:
There is indeed a dearth of OpenType Hebrew fonts with diacritics at this time.
No one disagrees that at the present time this is a serious problem with Hebrew
in OOo. However, this is an economic problem, not a software problem. It does
not make sense to try to solve an economic problem by writing code, especially
since there is no possibility of writing satisfactory code to solve what is in
fact an esthetic problem. The appropriate technology to solve this problem is
available in OpenType GPOS and GSUB together. Since I think that writing code to
solve this problem is inappropriate, and that the resources to write and test
that code should be spent on font enhancement, I do not agree that this is a
feature enhancement, it's just adding cruft to OOo and delaying implementation
of the correct solution.

There have been many atttempts to write heuristics for Hebrew diacritic
placement. I don't know of any of them that purport to be anything more than
hacks or workarounds. As far as I know, only one of them was written since the
publication of the OpenType standard. The best of these heuristics work only
passibly well and only for diacritics below the line of the glyphs, not in or
above the glyphs (CHOLAM, DAGESH), and they require fonts with an inordinate
amount of space below the glyphs in order to trick the eye into thinking that
the diacritics are placed correctly when in fact they are just centered below
the glyph.
Comment 92 nyh 2008-01-30 09:03:33 UTC
Hi everyone, I agree with most of what was said here, I'd just like to add my
two cents:

The automatic niqqud placement heuristics may never be good enough for a
beautiful rendition of the bible or poetry (although I never quite understood
why this has to be the case - nice niqqud placement isn't more an art than nice
line breaking is). But is quite sufficient for what 90% of the users need niqqud
for - for disambiguating one or two words in a long text. You know, adding one
chirik here, one kamatz there, and so on, to make ambiguous-looking words a bit
clearer. For this use (which again, I believe is the most common use for in
niqqud for OpenOffice users), it is useful to allow the user to use whatever
font he chose (which has niqqud, of course), rather than tell him: "you want to
add one chiriq? then switch to the Ezra Sil (or whatever) font". And you want
the resulting output to look "acceptable", not more and not less.
Wouldn't it make sense to do what Dov suggested in a comment here in 2005, which
is to copy his existing vowel placement heuristic? It (possibly) won't be
perfect, but should be better than the existing situation. The fact that you
consider this problem low priority doesn't mean it has been "FIXED" (which is
how this bug is marked now).

By the way, pueyo's first comment (from May 6 2003) makes me wonder. How could
it be that the same fonts (the MS Windows fonts like Times New Roman) place
vowels correctly in Windows, but not in Linux? If these fonts have the correct
"OpenType" niqqud placement, doesn't it help in Linux?