[EMAIL PROTECTED] wrote:

Now, I think I know where the source of the problem lies; it is in the Dekel's patch(summitted on March, 6th) against "qfont_loader.C" in lyx-1.3.1.
I could confirm this by replacing qfont_loader.C in lyx-1.3.1 by qfont_loader.C of lyx-1.3.0 and finding the resulting lyx-1.3.1 works fine!


(I was wrong to say that lyx-1.3.1 was O.K. It is lyx-1.3.0 that correctly displays the greek letters.)

Hi,


Your CJK patches 1.3.0 , Now Fixed for 1.3.3 by Mr. Kato.(for Mac-OS X with X11 LyX. Univ Hokkaido) It is based your 1.3.0 CJK patch.

http://hosho.ees.hokudai.ac.jp/~kato/unix/lyx.html

It is written Japanese , if you want his patches(It's include Ja TeX Class and teTeX ja fixed patches), I send you. The Problem , greek letters , in qfont_loader.C and Xft font checks fixed.

But for Linux , you need to fix qfont_loader.C .(This is my case , did not trace the true cause. But LyX 1.3.3 Qt run so well now.)

pair<QFont, bool> const getSymbolFont(string const & family)
{
        lyxerr[Debug::FONT] << "Looking for font family "
                << family << " ... ";
        string upper = family;
        upper[0] = toupper(family[0]);

        QFont font;
        font.setFamily(toqstr(family));
#ifndef I18N
        if (isChosenFont(font, family)) {
                lyxerr[Debug::FONT] << "normal!" << endl;
                return make_pair<QFont, bool>(font, true);
        }

font.setFamily(toqstr(upper));

        if (isChosenFont(font, upper)) {
                lyxerr[Debug::FONT] << "upper!" << endl;
                return make_pair<QFont, bool>(font, true);
        }
#else
        if (!isChosenFont(font, family)) {
                lyxerr[Debug::FONT] << "normal!" << endl;
                return make_pair<QFont, bool>(font, true);
        }

font.setFamily(toqstr(upper));

        if (!isChosenFont(font, upper)) {
                lyxerr[Debug::FONT] << "upper!" << endl;
                return make_pair<QFont, bool>(font, true);
        }
#endif
#ifndef I18N
        // A simple setFamily() fails on Qt 2

font.setRawName(toqstr(getRawName(family)));

        if (isChosenFont(font, family)) {
                lyxerr[Debug::FONT] << "raw version!" << endl;
                return make_pair<QFont, bool>(font, true);
        }

        lyxerr[Debug::FONT] << " FAILED :-(" << endl;
        return make_pair<QFont, bool>(font, false);
#endif
}

The "isChosenFont(font, family)" function is return wrong value , cause I18N Qt (See Qt Manual "Internationalization with Qt") , If non Latin locales need change that Xft is related, for exsample ,

qfont_loader.C
bool isChosenFont(QFont & font, string const & family)
---
#ifndef I18N
        // Qt 3.2 beta1 returns "xft" for all xft fonts
        if (font.rawName() == "xft") {
#else
        // Qt working in locale like ja_JP and ru_RU fails to return
        // appropliate font raw names??  So, it is needed to use this.
#endif
---

East Asia Locales (ja_JP , ko , cn) needs Qt Libs any font and IM Patches. (Cause many user use commercial Input Methods. So it different from original Qt I18N Codes , when you use xft and TeX fonts.

These patches are in an emergency. Of course you can use Math Panel and Inline a numerical formula. This poroblem will be solved by many excellent hackkers. ( I am not excellent and my specialty is law and management.)


My Env Kernel 2.6.0 GCC 3.2.1 GLIC 2.3.2 XFree 4.3.0-45 qt3-3.2.3


Regards,

PS: If you want CJK Fixed I18N Qt3 ,please visit
ftp://ftp.turbolinux.co.jp/pub/TurboLinux/stable/untested/Desktop/10/SRPMS
--
mail-to:Atsushi Shimmra <[EMAIL PROTECTED]>
Atsushi Shimmra



Reply via email to