From hadi60@gmail.com Thu Mar 10 13:50:31 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id EA306750C4F for ; Thu, 10 Mar 2011 13:50:30 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.136 X-Spam-Level: X-Spam-Status: No, score=-1.136 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_TO_NO_BRKTS_FREEMAIL=0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RBwNgWD7cTPt for ; Thu, 10 Mar 2011 13:50:29 +0000 (UTC) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by menubar.gnome.org (Postfix) with ESMTP id 1597F750144 for ; Thu, 10 Mar 2011 13:50:20 +0000 (UTC) Received: by ywf9 with SMTP id 9so901661ywf.27 for ; Thu, 10 Mar 2011 05:50:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=VxutzAKk6x4617WJk6Cv4BOJyxdjsSVgy7/B1JVG2To=; b=HQiF3ccaEP0yO4d9oCDMS2NFu1tQ4uG2044UK/mXCL8zwSUnhzYQN9dVCN6p4lkvhm XHGAuc5H4w01lnjs8H8YUBb8XHrLY+Hd+FciynLr8LwNH9fFX6JKsma4ICEbAQKYf6bn QVu3kDegfqwWDMiXQ125q3LleHw0T8aoxsKnw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=qQiO/ePCQhnMznLRRBKtIT/axeUGdd8LBQY3HA8tGgOpMNk4ORTsPuZEb8j2TGM4du jsp3VBOuC+lDbyi1tLYDCAk5Lpd0tFH9Y7ZlpeGOn2kN8Pj8afqs/hCpJiNi5JXYc3zH TgIhbje/FtPNhqIAhBjp3h4tTDhWC0WUzMjsI= Received: by 10.150.66.11 with SMTP id o11mr1091441yba.159.1299765019150; Thu, 10 Mar 2011 05:50:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.150.181.2 with HTTP; Thu, 10 Mar 2011 05:49:59 -0800 (PST) From: Hadi Aminzadeh Date: Thu, 10 Mar 2011 17:19:59 +0330 Message-ID: Subject: GtkTreeView RTL problem To: gtk-i18n-list@gnome.org Content-Type: multipart/mixed; boundary=000e0cd516b0420bb6049e212090 X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2011 13:50:32 -0000 --000e0cd516b0420bb6049e212090 Content-Type: multipart/alternative; boundary=000e0cd516b0420ba4049e21208e --000e0cd516b0420ba4049e21208e Content-Type: text/plain; charset=UTF-8 Hi, I try to use GtkTreeView in my RTL program but I think it have a bug. I search the web and find this link for the problem http://mail.gnome.org/archives/gtk-i18n-list/2003-March/msg00001.html in last paragraph He introduce a similar problem (I think). I attached the screen shot of this problem. any idea? Regards, Aminzadeh --000e0cd516b0420ba4049e21208e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I try to use GtkTreeView in my RTL program but = I think it have a bug.
I search the web and find this link for the probl= em
http://mail.gnome.org/archives/gtk-i18n-list/2003-March/msg000= 01.html
in last paragraph He introduce a similar problem (I think).

I attach= ed the screen shot of this problem.

any idea?

Regards,
Ami= nzadeh
--000e0cd516b0420ba4049e21208e-- --000e0cd516b0420bb6049e212090 Content-Type: image/png; name="Screenshot-1.png" Content-Disposition: attachment; filename="Screenshot-1.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gl3qb8q40 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 MplM9n9QtDluZeX1tgAAAABJRU5ErkJggg== --000e0cd516b0420bb6049e212090-- From phil.2608@btconnect.com Sat Mar 5 21:06:30 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id EF94C750D0C for ; Sat, 5 Mar 2011 21:06:29 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: 0.792 X-Spam-Level: X-Spam-Status: No, score=0.792 tagged_above=-999 required=2 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, MSGID_MULTIPLE_AT=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HMRDXrBcONwv for ; Sat, 5 Mar 2011 21:06:26 +0000 (UTC) X-Greylist: delayed 403 seconds by postgrey-1.32 at menubar.gnome.org; Sat, 05 Mar 2011 21:06:25 UTC Received: from mail.btconnect.com (c2bthomr09.btconnect.com [213.123.20.127]) by menubar.gnome.org (Postfix) with ESMTP id 7C053750CEE for ; Sat, 5 Mar 2011 21:06:17 +0000 (UTC) Received: from host86-139-251-229.range86-139.btcentralplus.com (EHLO meercat) ([86.139.251.229]) by c2bthomr09.btconnect.com with ESMTP id BZM53835; Sat, 05 Mar 2011 20:59:31 +0000 (GMT) From: "Phil \(BT Connect\)" To: Subject: compile bug in pango-1.21.5 Date: Sat, 5 Mar 2011 20:58:10 -0000 Message-ID: <001201cbdb78$0952c950$1bf85bf0$@2608@btconnect.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0013_01CBDB78.0952C950" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcvbeAjWmD+4uNbXQyGGoO6K2HFkoQ== Content-Language: en-gb X-Mirapoint-IP-Reputation: reputation=Neutral-1, source=Queried, refid=tid=0001.0A0B0301.4D72A433.0021, actions=tag X-Junkmail-Status: score=10/50, host=c2bthomr09.btconnect.com X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B0202.4D72A433.0100,ss=1,fgs=0, ip=0.0.0.0, so=2010-07-22 22:03:31, dmn=2009-09-10 00:05:08, mode=single engine X-Junkmail-IWF: false X-Mailman-Approved-At: Thu, 10 Mar 2011 18:23:23 +0000 X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Mar 2011 21:06:30 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0013_01CBDB78.0952C950 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Dear all When compiling pango-1.21.5 it doesn't link and complains with an undefined symbol reference to cairo_has_show_text_glyphs (on line 713 of pangocairo-render.c) It seems this function is no longer in the cairo libraries Apologies if this has already been reported. Phil. ------=_NextPart_000_0013_01CBDB78.0952C950 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Dear = all

 

When compiling pango-1.21.5 it doesn’t link and = complains with an undefined symbol reference to = cairo_has_show_text_glyphs (on line 713 of = pangocairo-render.c)

 

It seems = this function is no longer in the cairo libraries

 

Apologies if = this has already been reported.

 

Phil.

 

------=_NextPart_000_0013_01CBDB78.0952C950-- From andreas.sommer87@googlemail.com Fri Mar 11 12:07:00 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 9E80575010A for ; Fri, 11 Mar 2011 12:07:00 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.135 X-Spam-Level: X-Spam-Status: No, score=-1.135 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RFC_ABUSE_POST=0.001, SPF_PASS=-0.001, T_TO_NO_BRKTS_FREEMAIL=0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jo7T0MVF6S98 for ; Fri, 11 Mar 2011 12:06:58 +0000 (UTC) Received: from mail-qy0-f196.google.com (mail-qy0-f196.google.com [209.85.216.196]) by menubar.gnome.org (Postfix) with ESMTP id 89CA2750070 for ; Fri, 11 Mar 2011 12:06:49 +0000 (UTC) Received: by qyk35 with SMTP id 35so545845qyk.3 for ; Fri, 11 Mar 2011 04:06:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :subject:x-enigmail-version:content-type; bh=2ijkLuFmMIEhIJRP9J0cofIKOUyVogSjm2Uy8ufhFSk=; b=NC7iLhNJYGaJ6Qgh50+OGfpDEZFsUl7bnvQIDP18gtEKvfVhlGJf2zh+oh02LlDAKN /LgqG5ul/KVcRh9Wo04zc55i8edJm4cYoEUJ6LjNT57xw1tSx8xZ8i9YSD+Tn2MoFA7w +71QzJ2gVxBL9p+/8nJ5La/zDKaf4D4R6IGfA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type; b=uwpPv0w7mrquYB9df/6HZz12ZeTw7eXIIjOUDFbTD5i0N/jvAbiq1Zw4c4n99jEx8j dQxrHRInvHZRO3r6TaZQmDD9J5pyyxvWE5dMkTRV/udrWescDFnis6nkki5U0fV24Bzl N0ALLHTL5mq055A+JeLLZ7cdiTshDf7s2AHzk= Received: by 10.224.47.149 with SMTP id n21mr1509369qaf.289.1299845206631; Fri, 11 Mar 2011 04:06:46 -0800 (PST) Received: from [192.168.178.40] (p508123FC.dip0.t-ipconnect.de [80.129.35.252]) by mx.google.com with ESMTPS id d21sm2158201qck.4.2011.03.11.04.06.43 (version=SSLv3 cipher=OTHER); Fri, 11 Mar 2011 04:06:46 -0800 (PST) Message-ID: <4D7A104F.9080600@googlemail.com> Date: Fri, 11 Mar 2011 13:06:39 +0100 From: Andreas Sommer User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: gtk-i18n-list@gnome.org Subject: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer X-Enigmail-Version: 1.1.1 Content-Type: multipart/mixed; boundary="------------000800070809020402080605" X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2011 12:07:01 -0000 This is a multi-part message in MIME format. --------------000800070809020402080605 Content-Type: multipart/alternative; boundary="------------020901040702080102080603" --------------020901040702080102080603 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi all, I have been facing this problem with font rendering in multiple PyGTK-based programs now and finally want to find out what the real problem is. Using the most recent PyGTK all-in-one installer, I get the following warning: C:\Projects\Site Deploy\site_deploy\frontend\gui.py:126: PangoWarning: failed to choose a font, expect ugly output. engine-type='PangoRenderWin32', script='latin' self._mainWindow.show() C:\Projects\Site Deploy\site_deploy\frontend\gui.py:126: PangoWarning: failed to choose a font, expect ugly output. engine-type='PangoRenderWin32', script='common' self._mainWindow.show() All text glyphs are then rendered as rectangles. This also happens the older versions of GTK+, pycairo, pygtk, pygobject. No problem on Ubuntu. Creating a new "pango.modules" file with pango-querymodules.exe does not help (suggested in some forums, but modules are built into DLLs on Windows, anyway). Today I created a fresh Windows XP installation in VirtualBox. Installed Python 2.6, PyGTK all-in-one, and it worked. Just in very few cases, when starting the program for the first time after booting, it shows the same font rendering problem. Changing the locale to German also did not trigger the problem. Copying all fonts from my host to the VM also did not trigger it. I'm kind of lost right now, why am I having problems on my host Windows? GTK_HOME is correctly set to the PyGTK all-in-one GTK+ runtime, and PATH does not contain any other GTK installations. Attached to this mail is a ZIP with the following files (all output generated with env variable PANGO_WIN32_DEBUG=true set): * failed-stderr.txt / failed-stdout.txt - Output of the program on the host, rendering boxes instead of characters * vm-success.txt - Output of the program in the VM, rendering fonts correctly Related thread (which didn't solve the problem for me): http://lists.cairographics.org/archives/cairo/2010-January/018918.html This problem is related to my program Site Deploy , which is PyGTK-powered (and I don't want to switch to Qt because of this...). Best regards --------------020901040702080102080603 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi all,

I have been facing this problem with font rendering in multiple PyGTK-based programs now and finally want to find out what the real problem is.

Using the most recent PyGTK all-in-one installer, I get the following warning:

C:\Projects\Site Deploy\site_deploy\frontend\gui.py:126: PangoWarning: failed to choose a font, expect ugly output. engine-type='PangoRenderWin32', script='latin'
  self._mainWindow.show()
C:\Projects\Site Deploy\site_deploy\frontend\gui.py:126: PangoWarning: failed to choose a font, expect ugly output. engine-type='PangoRenderWin32', script='common'
  self._mainWindow.show()


All text glyphs are then rendered as rectangles. This also happens the older versions of GTK+, pycairo, pygtk, pygobject. No problem on Ubuntu. Creating a new "pango.modules" file with pango-querymodules.exe does not help (suggested in some forums, but modules are built into DLLs on Windows, anyway).

Today I created a fresh Windows XP installation in VirtualBox. Installed Python 2.6, PyGTK all-in-one, and it worked. Just in very few cases, when starting the program for the first time after booting, it shows the same font rendering problem. Changing the locale to German also did not trigger the problem. Copying all fonts from my host to the VM also did not trigger it.

I'm kind of lost right now, why am I having problems on my host Windows? GTK_HOME is correctly set to the PyGTK all-in-one GTK+ runtime, and PATH does not contain any other GTK installations.

Attached to this mail is a ZIP with the following files (all output generated with env variable PANGO_WIN32_DEBUG=true set):
  • failed-stderr.txt / failed-stdout.txt - Output of the program on the host, rendering boxes instead of characters
  • vm-success.txt - Output of the program in the VM, rendering fonts correctly

Related thread (which didn't solve the problem for me): http://lists.cairographics.org/archives/cairo/2010-January/018918.html
This problem is related to my program Site Deploy, which is PyGTK-powered (and I don't want to switch to Qt because of this...).

Best regards
--------------020901040702080102080603-- --------------000800070809020402080605 Content-Type: application/zip; name="pangobug.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pangobug.zip" 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 --------------000800070809020402080605-- From behdad.esfahbod@gmail.com Fri Mar 11 22:29:47 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E42607501FD for ; Fri, 11 Mar 2011 22:29:46 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.523 X-Spam-Level: X-Spam-Status: No, score=-2.523 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rMCTt4dsbrpy for ; Fri, 11 Mar 2011 22:29:43 +0000 (UTC) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by menubar.gnome.org (Postfix) with ESMTP id BB066750351 for ; Fri, 11 Mar 2011 22:29:35 +0000 (UTC) Received: by ywf9 with SMTP id 9so1887625ywf.27 for ; Fri, 11 Mar 2011 14:29:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=niytNTGSG4RUwr6Kbf6o+NxTHZipLR32QmBi+6Y7IVM=; b=n8yDvUFGZqdQ8oEDIMS9EHxT/PB/l8f3F7WG1jocApOq2RsRLuOMRN9O2ERGUyO4eJ QB9DyZZUXvQE4wBl7htLQqYk5qXpIggWPEL9u0R7l6v3J2jtjF3ZhGdE5z21wJKuQQyq lEeph4liXqzD599+6A7xP1Hv0brIwm0LtHDUc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=gi7lDoB9AWsglT96mXI3mrq6HCDIMM2eZV5cuy4BGPIl7SPw8hccl9cJAfECl04DKU kjbKwK+yNxJ3XkfkaTScuYnm9QFSL/e1JnHuHS51oNMIFfGE9Jq+QOFpbZHu9lllvliY 1z+505uryab9miy9+VXD1e3dtBOMNJVJ2hkW4= Received: by 10.150.67.10 with SMTP id p10mr3261814yba.236.1299882573612; Fri, 11 Mar 2011 14:29:33 -0800 (PST) Received: from [192.168.0.13] ([190.195.67.102]) by mx.google.com with ESMTPS id x69sm1602969yhn.41.2011.03.11.14.29.31 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 11 Mar 2011 14:29:32 -0800 (PST) Sender: Behdad Esfahbod Message-ID: <4D7AA249.90203@behdad.org> Date: Fri, 11 Mar 2011 19:29:29 -0300 From: Behdad Esfahbod User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: Andreas Sommer Subject: Re: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer References: <4D7A104F.9080600@googlemail.com> In-Reply-To: <4D7A104F.9080600@googlemail.com> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2011 22:29:47 -0000 Hi, I don't know how to help except for suggesting that you compile pango yourself and dig into debugging, but guess you already knew that. behdad On 03/11/11 09:06, Andreas Sommer wrote: > Hi all, > > I have been facing this problem with font rendering in multiple PyGTK-based > programs now and finally want to find out what the real problem is. > > Using the most recent PyGTK all-in-one installer, I get the following warning: > > C:\Projects\Site Deploy\site_deploy\frontend\gui.py:126: PangoWarning: failed > to choose a font, expect ugly output. engine-type='PangoRenderWin32', > script='latin' > self._mainWindow.show() > C:\Projects\Site Deploy\site_deploy\frontend\gui.py:126: PangoWarning: failed > to choose a font, expect ugly output. engine-type='PangoRenderWin32', > script='common' > self._mainWindow.show() > > All text glyphs are then rendered as rectangles. This also happens the older > versions of GTK+, pycairo, pygtk, pygobject. No problem on Ubuntu. Creating a > new "pango.modules" file with pango-querymodules.exe does not help (suggested > in some forums, but modules are built into DLLs on Windows, anyway). > > Today I created a fresh Windows XP installation in VirtualBox. Installed > Python 2.6, PyGTK all-in-one, and it worked. Just in very few cases, when > starting the program for the first time after booting, it shows the same font > rendering problem. Changing the locale to German also did not trigger the > problem. Copying all fonts from my host to the VM also did not trigger it. > > I'm kind of lost right now, why am I having problems on my host Windows? > GTK_HOME is correctly set to the PyGTK all-in-one GTK+ runtime, and PATH does > not contain any other GTK installations. > > Attached to this mail is a ZIP with the following files (all output generated > with env variable PANGO_WIN32_DEBUG=true set): > > * failed-stderr.txt / failed-stdout.txt - Output of the program on the > host, rendering boxes instead of characters > * vm-success.txt - Output of the program in the VM, rendering fonts correctly > > > Related thread (which didn't solve the problem for me): > http://lists.cairographics.org/archives/cairo/2010-January/018918.html > This problem is related to my program Site Deploy > , which is PyGTK-powered (and I don't want > to switch to Qt because of this...). > > Best regards > > > > _______________________________________________ > gtk-i18n-list mailing list > gtk-i18n-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtk-i18n-list From johne53@tiscali.co.uk Sat Mar 12 07:16:25 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id BBB7B75046C for ; Sat, 12 Mar 2011 07:16:25 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -0.347 X-Spam-Level: X-Spam-Status: No, score=-0.347 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RFC_ABUSE_POST=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, T_TO_NO_BRKTS_FREEMAIL=0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rPj6JjEQue8g for ; Sat, 12 Mar 2011 07:16:23 +0000 (UTC) X-Greylist: delayed 780 seconds by postgrey-1.32 at menubar.gnome.org; Sat, 12 Mar 2011 07:16:22 UTC Received: from mk-filter-4-a-1.mail.uk.tiscali.com (mk-filter-4-a-1.mail.tiscali.co.uk [212.74.100.55]) by menubar.gnome.org (Postfix) with ESMTP id C7CBF75046B for ; Sat, 12 Mar 2011 07:16:14 +0000 (UTC) X-Trace: 583109429/mk-filter-4.mail.uk.tiscali.com/B2C/$b2c-THROTTLED-DYNAMIC/b2c-CUSTOMER-DYNAMIC-IP/88.104.16.138/None/johne53@tiscali.co.uk X-SBRS: None X-RemoteIP: 88.104.16.138 X-IP-MAIL-FROM: johne53@tiscali.co.uk X-SMTP-AUTH: X-Originating-Country: GB/UNITED KINGDOM X-MUA: Apple Mail (2.1082) X-IP-BHB: Once X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlQGAK6pek1YaBCK/2dsb2JhbACZMY0NeMIFgh+DQwSQDg X-IronPort-AV: E=Sophos;i="4.62,307,1297036800"; d="scan'208";a="583109429" Received: from 88-104-16-138.dynamic.dsl.as9105.com (HELO linux.lan) ([88.104.16.138]) by smtp.tiscali.co.uk with ESMTP; 12 Mar 2011 07:02:56 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1082) Subject: Re: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer From: John Emmas In-Reply-To: <4D7A104F.9080600@googlemail.com> Date: Sat, 12 Mar 2011 07:02:40 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <06A2FD39-0FA2-4ADB-9190-22001ED527C2@tiscali.co.uk> References: <4D7A104F.9080600@googlemail.com> To: gtk-i18n-list@gnome.org X-Mailer: Apple Mail (2.1082) X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2011 07:16:26 -0000 Hello Andreas, My experiences are actually with C++ but the first time I built a GTK = app using Pango I had exactly the same problem and it took ages to = figure out. Here are some of the lessons I learned though.... I'm not sure if it's Pango itself or if it's something else that affects = Pango (GTK maybe) - but for Win32 builds, your application's "exe" file = is expected to be in a folder called "bin". The "pangorc" file is = expected to be in a folder called "etc/pango" which is a subdirectory of = the directory where "pango.dll" is installed. If your pango DLL isn't = called "pango.dll" (which mine wasn't) "pangorc" is expected to be in = the folder "../etc/pango" (i.e. a subdirectory of your "bin" folder's = parent directory). It's all pretty confusing. As an example, if you're currently building your exe target into = "C:\Program Files\my_app" you'll need to change that to be "C:\Program = Files\my_app\bin". You'll then need to create the following folder:- C:\Program Files\my_app\etc\pango and make sure it contains these files:- pangorc pango.modules pangox.aliases "pango.modules" then needs to contain the correct paths to wherever your = pango module files are located. I have to confess that I'm not at all familiar with PyGTK (or even with = Python) so forgive me if you already know all this or if none of it is = relevant to PyGTK. As I said earlier, my comments are based on my C++ = builds. However, I do remember that when it came to pango's modules, = their physical locations are very critical. I suspect that this will = almost certainly be the explanation for your problem. For C++ there's = also a "config.h" file which needs to be set up correctly, though that = might not apply in your case. Ultimately though, as Behdad suggested, you might need to build = everything from source and debug it yourself. That's what I had to do = eventually. There's no way I'd have found any of this out otherwise. John= From andreas.sommer87@googlemail.com Sat Mar 12 09:13:52 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 8F6BB7502BB for ; Sat, 12 Mar 2011 09:13:52 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.146 X-Spam-Level: X-Spam-Status: No, score=-1.146 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RFC_ABUSE_POST=0.001, SPF_PASS=-0.001] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wGedJE3h1GZV for ; Sat, 12 Mar 2011 09:13:50 +0000 (UTC) Received: from mail-bw0-f68.google.com (mail-bw0-f68.google.com [209.85.214.68]) by menubar.gnome.org (Postfix) with ESMTP id E9AB0750265 for ; Sat, 12 Mar 2011 09:13:41 +0000 (UTC) Received: by bwz2 with SMTP id 2so1567110bwz.3 for ; Sat, 12 Mar 2011 01:13:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; bh=TyJlPZL/EbxnSCzlsnDwX87sQPfbDtmxCWOvklK+cmA=; b=rR564byqO9YQ65whnemhgncVZyN3diQBx4mr5lgz3PtowUhJZWgz8fNECZhUBJVssB ZBowgJVZw84/UmpePVZeF66CpAtqL7GdOEVMtQBJuXd5MvlFOHHUy8KProcQ/6J1TnCl FSgKxzSAhdQYwBB6SkNma5cB2eSohajemDUiw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=jNjoaGWs6bqCdhi6kthf7WK4IoYFu9E5MoSmprIyGt2mqeGt6kYKaiPaNQoufpAeuc hpuiDavMaxvyDOtvG1NuG8RXJjZiEKV3DQOfKSKDa6r/DirjRT3H4FqHaHO16KPNAkhm RXwrCNuIfiGl7Hfvs7y1IWgqH/3vPyQbQVF1E= Received: by 10.204.81.224 with SMTP id y32mr8541655bkk.152.1299921219263; Sat, 12 Mar 2011 01:13:39 -0800 (PST) Received: from [192.168.178.40] (p50810A6A.dip0.t-ipconnect.de [80.129.10.106]) by mx.google.com with ESMTPS id v21sm3535928bkt.23.2011.03.12.01.13.37 (version=SSLv3 cipher=OTHER); Sat, 12 Mar 2011 01:13:38 -0800 (PST) Message-ID: <4D7B393C.6040506@googlemail.com> Date: Sat, 12 Mar 2011 10:13:32 +0100 From: Andreas Sommer User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: John Emmas , Behdad Esfahbod Subject: Re: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer References: <4D7A104F.9080600@googlemail.com> <06A2FD39-0FA2-4ADB-9190-22001ED527C2@tiscali.co.uk> In-Reply-To: <06A2FD39-0FA2-4ADB-9190-22001ED527C2@tiscali.co.uk> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2011 09:13:52 -0000 Thanks for your suggestions. John, my GTK+ runtime does not even have a pangorc file, and other programs like Glade are always working just fine. Even creating such a file with [Pango] ModuleFiles=C:\Program Files\Glade 3.7.1\etc\pango\pango.modules ModulesPath=C:\Program Files\Glade 3.7.1\lib\pango\1.6.0\modules and pointing to it with an environment variable PANGO_RC_FILE did not change anything. The weird thing is that the problem is indeterministic, 20% of the times I start the program, it renders text correctly. So I will dig into debugging by compiling myself. But I'm already having trouble compiling the dependency glib using VS2010. Do you have any suggestion on this error: 1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projects\glib\build\win32\vs9\Debug\Win32\bin\glib.dll) does not match the Linker's OutputFile property value (C:\Projects\glib\build\win32\vs9\Debug\Win32\bin\glib-2-vs9.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). 1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(glib) does not match the Linker's OutputFile property value (glib-2-vs9). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). 1>LINK : fatal error LNK1104: cannot open file 'C:\Projects\glib\build\win32\vs9\Debug\Win32\obj\glib.def' The glib.def file does not exist and is not generated. Or is there an easier way to compile pango and dependencies? Maybe cross-compile from Linux using mingw32 ports? On 12.03.2011 08:02, John Emmas wrote: > Hello Andreas, > > My experiences are actually with C++ but the first time I built a GTK app using Pango I had exactly the same problem and it took ages to figure out. Here are some of the lessons I learned though.... > > I'm not sure if it's Pango itself or if it's something else that affects Pango (GTK maybe) - but for Win32 builds, your application's "exe" file is expected to be in a folder called "bin". The "pangorc" file is expected to be in a folder called "etc/pango" which is a subdirectory of the directory where "pango.dll" is installed. If your pango DLL isn't called "pango.dll" (which mine wasn't) "pangorc" is expected to be in the folder "../etc/pango" (i.e. a subdirectory of your "bin" folder's parent directory). It's all pretty confusing. > > As an example, if you're currently building your exe target into "C:\Program Files\my_app" you'll need to change that to be "C:\Program Files\my_app\bin". You'll then need to create the following folder:- > > C:\Program Files\my_app\etc\pango > > and make sure it contains these files:- > > pangorc > pango.modules > pangox.aliases > > "pango.modules" then needs to contain the correct paths to wherever your pango module files are located. > > I have to confess that I'm not at all familiar with PyGTK (or even with Python) so forgive me if you already know all this or if none of it is relevant to PyGTK. As I said earlier, my comments are based on my C++ builds. However, I do remember that when it came to pango's modules, their physical locations are very critical. I suspect that this will almost certainly be the explanation for your problem. For C++ there's also a "config.h" file which needs to be set up correctly, though that might not apply in your case. > > Ultimately though, as Behdad suggested, you might need to build everything from source and debug it yourself. That's what I had to do eventually. There's no way I'd have found any of this out otherwise. > > John On 11.03.2011 23:29, Behdad Esfahbod wrote: > Hi, > > I don't know how to help except for suggesting that you compile pango yourself > and dig into debugging, but guess you already knew that. > > behdad From johne53@tiscali.co.uk Sat Mar 12 10:52:49 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id DB1E9750483 for ; Sat, 12 Mar 2011 10:52:49 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -0.347 X-Spam-Level: X-Spam-Status: No, score=-0.347 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RFC_ABUSE_POST=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, T_TO_NO_BRKTS_FREEMAIL=0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6D68OZdTXp9g for ; Sat, 12 Mar 2011 10:52:45 +0000 (UTC) Received: from mk-filter-3-a-1.mail.uk.tiscali.com (mk-filter-3-a-1.mail.tiscali.co.uk [212.74.100.54]) by menubar.gnome.org (Postfix) with ESMTP id 1482F750265 for ; Sat, 12 Mar 2011 10:52:36 +0000 (UTC) X-Trace: 588603000/mk-filter-3.mail.uk.tiscali.com/B2C/$b2c-THROTTLED-DYNAMIC/b2c-CUSTOMER-DYNAMIC-IP/88.104.16.138/None/johne53@tiscali.co.uk X-SBRS: None X-RemoteIP: 88.104.16.138 X-IP-MAIL-FROM: johne53@tiscali.co.uk X-SMTP-AUTH: X-Originating-Country: GB/UNITED KINGDOM X-MUA: Apple Mail (2.1082) X-IP-BHB: Once X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvsEAJbfek1YaBCK/2dsb2JhbACmQHjBRIIfg0MEkBQ X-IronPort-AV: E=Sophos;i="4.62,307,1297036800"; d="scan'208";a="588603000" Received: from 88-104-16-138.dynamic.dsl.as9105.com (HELO linux.lan) ([88.104.16.138]) by smtp.tiscali.co.uk with ESMTP; 12 Mar 2011 10:52:33 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1082) Subject: Re: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer From: John Emmas In-Reply-To: <4D7B393C.6040506@googlemail.com> Date: Sat, 12 Mar 2011 10:52:33 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4D7A104F.9080600@googlemail.com> <06A2FD39-0FA2-4ADB-9190-22001ED527C2@tiscali.co.uk> <4D7B393C.6040506@googlemail.com> To: gtk-i18n-list@gnome.org X-Mailer: Apple Mail (2.1082) X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2011 10:52:50 -0000 Oh dear, you seem to be having all kinds of problems but do persevere. = It's well worth it when you get it all working. For the project that I'm working on I've had to build dozens of gnu = libraries using VC++. Glib, GTK+, Pango, Cairo, FontConfig, Freetype. = You name it - I've probably had to build it..! Let's deal with your = pango.modules file first though.... Mine contains a list of about 20-30 = entries looking like this:- # ModulesPath =3D C:/Program Files/ardour2/lib/pango-1.0\1.28.0\modules # "C:/Program = Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_basic_win32.DLL" = BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common: "C:/Program = Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_basic_fc.DLL" = BasicScriptEngineFc PangoEngineShape PangoRenderFc Latin:* Cyrillic:* = Greek:* Armenian:* Georgian:* runic:* ogham:* bopomofo:* Cherokee:* = Coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* = old-italic:* Canadian-aboriginal:* yi:* braille:* Cypriot:* limbu:* = osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* = Phoenician:* common: "C:/Program = Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_Arabic_fc.DLL" = ArabicScriptEngineFc PangoEngineShape PangoRenderFc Arabic:* nko:* "C:/Program = Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_arabicng_la.DLL" = ArabicScriptEngineLang PangoEngineLang PangoRenderNone Arabic:* "C:/Program = Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_hangul_fc.DLL" = HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:* and loads of other entries for Hebrew and various other languages. To = generate it I just copied the pango.modules file from my Linux machine = and edited the paths manually. Of course, I had to build all the = relevant DLLs as well. Now for your compiler problem:- > Do you have any suggestion on this error: > 1>C:\Program = Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): > warning MSB8012: = TargetPath(C:\Projects\glib\build\win32\vs9\Debug\Win32\bin\glib.dll) > does not match the Linker's OutputFile property value > (C:\Projects\glib\build\win32\vs9\Debug\Win32\bin\glib-2-vs9.dll). = This > may cause your project to build incorrectly. To correct this, please > make sure that $(OutDir), $(TargetName) and $(TargetExt) property = values > match the value specified in %(Link.OutputFile). It's not a problem I've ever encountered (in fact, I've never even heard = of the TargetPath variable) but clearly, $(TargetPath) is supposed to = equal $(OutDir)+$(TargetName)+$(TargetExt). In your case, they don't = match. $(TargetPath) thinks that the output file should be called = "glib.dll" whereas your project settings want it to be called = "glib-2-vs9.dll". In the Visual Studio IDE, open your project's settings and go to:- Properties->Linker->General->Output File Make a note of the current setting so you can get back to it. Then = (using the drop down options) try changing it to:- . Maybe that will solve it. Otherwise, you might = need to experiment with that entry until you can make it match the other = one. If you don't have any success, register at = http://www.codeguru.com/forum/ and ask your question on the Visual C++ = forum. Chances are high that you'll have the solution within a few = hours. Lastly, your missing glib.def file. As I said above, I've had to build = a large number of gnu projects recently. Missing ".def" files were an = ongoing problem for me. Fortunately, as long as you can find a = pre-built, current, working DLL you can generate a .def file from it = using Microsoft's "dumpbin.exe" utility. Here's a guide showing how to = do it:- = http://www.coderetard.com/2009/01/21/generate-a-lib-from-a-dll-with-visual= -studio/ It's relatively simple to do, although a bit tedious. Basically, the = dumpbin utility dumps a list of all the exported functions, together = with certain other information that you won't need. You need to edit = the output manually (after first capturing it in a file) and remove all = the stuff you don't need. That article describes it quite well. Having = said that, I'm a bit surprised that glib.def was missing. I'm sure it = was supplied when I built glib. Maybe you just haven't spotted it. Regards, John= From andreas.sommer87@googlemail.com Sun Mar 13 17:40:52 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id DBB887505A0 for ; Sun, 13 Mar 2011 17:40:52 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.145 X-Spam-Level: X-Spam-Status: No, score=-1.145 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RFC_ABUSE_POST=0.001, SPF_PASS=-0.001] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ayJ-hN+i0bEV for ; Sun, 13 Mar 2011 17:40:49 +0000 (UTC) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by menubar.gnome.org (Postfix) with ESMTP id 58DE6750588 for ; Sun, 13 Mar 2011 17:40:40 +0000 (UTC) Received: by fxm11 with SMTP id 11so3582846fxm.27 for ; Sun, 13 Mar 2011 10:40:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:x-enigmail-version:content-type; bh=PcVFb/3YEVY7X3vYrYP0VOP4/+D4jwUXoMYPPBHAVe8=; b=quXf6dJnoOnAV607KnKL0KekfGHh3CvLwd9icyLazZ24tjj9oiEJClscsilnxrMO6T OPcyNoHspiafs9BAEGJV42tkITtgtPZa6Z/xwDxNOAuJT9oIPyujwYIh6uL8ZB+P2/U/ wy3ur4pksPFZ5z3xAgOvcJogY2tO1nstNEa9c= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type; b=XDcUUyCY6flQXNtzyTTJ5f8mLOR4+TuxpvH8asPFQq1kKJ3Wi3TP+kxWJDLfeTelxc 3yIwnVZZej3DTH+YJnTecN5NZTPUHBE+7ja8eMj2SW9A0uRffNhBdKg0iJH9hLG92F/G WuTDrIjw2V+ireKQYY+nqDH2Lz3N24Hr2If7A= Received: by 10.223.143.86 with SMTP id t22mr2731163fau.78.1300038039189; Sun, 13 Mar 2011 10:40:39 -0700 (PDT) Received: from [192.168.178.47] (p508139EF.dip0.t-ipconnect.de [80.129.57.239]) by mx.google.com with ESMTPS id f15sm2577916fax.34.2011.03.13.10.40.36 (version=SSLv3 cipher=OTHER); Sun, 13 Mar 2011 10:40:38 -0700 (PDT) Message-ID: <4D7D0191.2010805@googlemail.com> Date: Sun, 13 Mar 2011 18:40:33 +0100 From: Andreas Sommer User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: John Emmas Subject: Re: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer References: <4D7A104F.9080600@googlemail.com> <06A2FD39-0FA2-4ADB-9190-22001ED527C2@tiscali.co.uk> <4D7B393C.6040506@googlemail.com> In-Reply-To: X-Enigmail-Version: 1.1.1 Content-Type: multipart/alternative; boundary="------------050001090800040102090306" Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2011 17:40:53 -0000 This is a multi-part message in MIME format. --------------050001090800040102090306 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit On 12.03.2011 11:52, John Emmas wrote: > Oh dear, you seem to be having all kinds of problems but do persevere. It's well worth it when you get it all working. > > For the project that I'm working on I've had to build dozens of gnu libraries using VC++. Glib, GTK+, Pango, Cairo, FontConfig, Freetype. You name it - I've probably had to build it..! Let's deal with your pango.modules file first though.... Mine contains a list of about 20-30 entries looking like this:- > > # ModulesPath = C:/Program Files/ardour2/lib/pango-1.0\1.28.0\modules > # > "C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_basic_win32.DLL" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common: > "C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_basic_fc.DLL" BasicScriptEngineFc PangoEngineShape PangoRenderFc Latin:* Cyrillic:* Greek:* Armenian:* Georgian:* runic:* ogham:* bopomofo:* Cherokee:* Coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* old-italic:* Canadian-aboriginal:* yi:* braille:* Cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* Phoenician:* common: > "C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_Arabic_fc.DLL" ArabicScriptEngineFc PangoEngineShape PangoRenderFc Arabic:* nko:* > "C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_arabicng_la.DLL" ArabicScriptEngineLang PangoEngineLang PangoRenderNone Arabic:* > "C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_hangul_fc.DLL" HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:* In the GTK bundles available on the net, the engines don't have to be listed in the modules file, everything works out of the box. But I tried it anyway, e.g. "C:/Program Files/Glade 3.7.1/bin/libpangowin32-1.0-0.dll" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:* This leads to a NULL pointer read access violation in pango_module_register :P > Now for your compiler problem: I actually just had to manually copy the .def file from another directory, for whatever reason. Anyway, I'm getting crazy with compiling glib and so can't even start going for pango. Compiling open source automake stuff on Windows is just a mess. So I wanted to choose the easy way and build the libs with the MinGW cross-compile chain from Linux. ./configure worked out well and chooses the correct compiler, but now I'm /missing the Windows headers/. I know there was a package of them a while ago but can't find it (probably removed due to license issues?!). Tried the mingw32-w32api package from http://apt.arrozcru.org/mingw32-w32api/ but they conflict with some other headers. Any experience on this? -- is there another Windows SDK package for the MinGW cross-tools? --------------050001090800040102090306 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit On 12.03.2011 11:52, John Emmas wrote:
Oh dear, you seem to be having all kinds of problems but do persevere.  It's well worth it when you get it all working.

For the project that I'm working on I've had to build dozens of gnu libraries using VC++.  Glib, GTK+, Pango, Cairo, FontConfig, Freetype.  You name it - I've probably had to build it..!  Let's deal with your pango.modules file first though....  Mine contains a list of about 20-30 entries looking like this:-

# ModulesPath = C:/Program Files/ardour2/lib/pango-1.0\1.28.0\modules
#
"C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_basic_win32.DLL" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:
"C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_basic_fc.DLL" BasicScriptEngineFc PangoEngineShape PangoRenderFc Latin:* Cyrillic:* Greek:* Armenian:* Georgian:* runic:* ogham:* bopomofo:* Cherokee:* Coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* old-italic:* Canadian-aboriginal:* yi:* braille:* Cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* Phoenician:* common:
"C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_Arabic_fc.DLL" ArabicScriptEngineFc PangoEngineShape PangoRenderFc Arabic:* nko:*
"C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_arabicng_la.DLL" ArabicScriptEngineLang PangoEngineLang PangoRenderNone Arabic:*
"C:/Program Files/ardour2/lib/pango-1.0/1.28.0/modules/pango_hangul_fc.DLL" HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:*
In the GTK bundles available on the net, the engines don't have to be listed in the modules file, everything works out of the box. But I tried it anyway, e.g.

"C:/Program Files/Glade 3.7.1/bin/libpangowin32-1.0-0.dll" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:*

This leads to a NULL pointer read access violation in pango_module_register :P
Now for your compiler problem:
I actually just had to manually copy the .def file from another directory, for whatever reason. Anyway, I'm getting crazy with compiling glib and so can't even start going for pango. Compiling open source automake stuff on Windows is just a mess.

So I wanted to choose the easy way and build the libs with the MinGW cross-compile chain from Linux. ./configure worked out well and chooses the correct compiler, but now I'm missing the Windows headers. I know there was a package of them a while ago but can't find it (probably removed due to license issues?!). Tried the mingw32-w32api package from http://apt.arrozcru.org/mingw32-w32api/ but they conflict with some other headers. Any experience on this? -- is there another Windows SDK package for the MinGW cross-tools?
--------------050001090800040102090306-- From johne53@tiscali.co.uk Sun Mar 13 20:19:25 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B133A75058E for ; Sun, 13 Mar 2011 20:19:25 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -0.346 X-Spam-Level: X-Spam-Status: No, score=-0.346 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=1.553, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RFC_ABUSE_POST=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, T_TO_NO_BRKTS_FREEMAIL=0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ap2Kc5VeXYCO for ; Sun, 13 Mar 2011 20:19:22 +0000 (UTC) Received: from mk-filter-2-a-1.mail.uk.tiscali.com (mk-filter-2-a-1.mail.tiscali.co.uk [212.74.100.53]) by menubar.gnome.org (Postfix) with ESMTP id 1C282750556 for ; Sun, 13 Mar 2011 20:19:11 +0000 (UTC) X-Trace: 592833093/mk-filter-2.mail.uk.tiscali.com/B2C/$b2c-THROTTLED-DYNAMIC/b2c-CUSTOMER-DYNAMIC-IP/88.104.16.138/None/johne53@tiscali.co.uk X-SBRS: None X-RemoteIP: 88.104.16.138 X-IP-MAIL-FROM: johne53@tiscali.co.uk X-SMTP-AUTH: X-Originating-Country: GB/UNITED KINGDOM X-MUA: Apple Mail (2.1082) X-IP-BHB: Once X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgMFACTDfE1YaBCK/2dsb2JhbACFYqAyeMAngh+DQwSQFA X-IronPort-AV: E=Sophos;i="4.62,311,1297036800"; d="scan'208,217";a="592833093" Received: from 88-104-16-138.dynamic.dsl.as9105.com (HELO linux.lan) ([88.104.16.138]) by smtp.tiscali.co.uk with ESMTP; 13 Mar 2011 20:19:08 +0000 From: John Emmas Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: multipart/alternative; boundary=Apple-Mail-1--382199417 Subject: Re: PangoWarning: failed to choose a font with 'PangoRenderWin32' renderer Date: Sun, 13 Mar 2011 20:19:07 +0000 In-Reply-To: <4D7D0191.2010805@googlemail.com> To: gtk-i18n-list@gnome.org References: <4D7A104F.9080600@googlemail.com> <06A2FD39-0FA2-4ADB-9190-22001ED527C2@tiscali.co.uk> <4D7B393C.6040506@googlemail.com> <4D7D0191.2010805@googlemail.com> Message-Id: <4E085AAD-3DC9-4661-AAA3-EC962A351A73@tiscali.co.uk> X-Mailer: Apple Mail (2.1082) X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2011 20:19:25 -0000 --Apple-Mail-1--382199417 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 13 Mar 2011, at 17:40, Andreas Sommer wrote: > In the GTK bundles available on the net, the engines don't have to be = listed in the modules file, everything works out of the box. But I tried = it anyway, e.g. >=20 > "C:/Program Files/Glade 3.7.1/bin/libpangowin32-1.0-0.dll" = BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:* >=20 > This leads to a NULL pointer read access violation in = pango_module_register :P >=20 Unfortunately, I'm not an expert in Pango so I don't know all the = relevant terminology. However, in that list I sent you I listed certain = modules which (for the sake of identification) I'll call "Scripting = Engines". libpangowin32-1.0-0.dll isn't one of those - which I guess is = why you got the access violation. The listed modules are normally in a = subfolder called "modules". Do you have them? They should have names = like "pango_basic_win32.dll", "pango_basic_fc.dll", = "pango_arabic_fc.dll", "pango_hebrew_fc.dll" etc, etc. I think you'll = need "pango_basic_win32.dll" as an absolute minimum. > I actually just had to manually copy the .def file from another = directory, for whatever reason. Anyway, I'm getting crazy with compiling = glib and so can't even start going for pango. >=20 glib comes with a pre-made project for Visual Studio doesn't it? Here's = where I downloaded mine from:- http://www.gtk.org/download-windows.html When I first started building all this stuff, very few of the libraries = came with Visual Studio projects but I think they're slowly being added. = I'm not sure if there's anything for Pango yet but you'd be very = welcome to have mine. It looks like it'll be quite a bit different from = your copy though (mine is Pango v1.28.0 - you seemed to be using v1.6.0 = according to your email from yesterday). And on top of that, I'm using = VC++8.0, compared to your VC++9.0. But if all other routes fail, my = projects might help to get you started I suppose. John= --Apple-Mail-1--382199417 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
In the GTK bundles available = on the net, the engines don't have to be listed in the modules file, everything works out of the box. But I tried it anyway, e.g.

"C:/Program Files/Glade 3.7.1/bin/libpangowin32-1.0-0.dll" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 = common:*

This leads to a NULL pointer read access violation in = pango_module_register :P

Unfortunately, I'm = not an expert in Pango so I don't know all the relevant terminology. =  However, in that list I sent you I listed certain modules which = (for the sake of identification) I'll call "Scripting Engines". =  libpangowin32-1.0-0.dll isn't one of those - which I guess is why = you got the access violation.  The listed modules are normally in a = subfolder called "modules".  Do you have them?  They should = have names like "pango_basic_win32.dll", "pango_basic_fc.dll", = "pango_arabic_fc.dll", "pango_hebrew_fc.dll" etc, etc.  I = think you'll need "pango_basic_win32.dll" as an absolute = minimum.


I actually just had to manually = copy the .def file from another directory, for whatever reason. Anyway, = I'm getting crazy with compiling glib and so can't even start going for = pango.

glib comes with a pre-made project = for Visual Studio doesn't it?  Here's where I downloaded mine = from:-


When I first started = building all this stuff, very few of the libraries came with Visual = Studio projects but I think they're slowly being added.  I'm not = sure if there's anything for Pango yet but you'd be very welcome to have = mine.  It looks like it'll be quite a bit different from your copy = though (mine is Pango v1.28.0 - you seemed to be using v1.6.0 according = to your email from yesterday).  And on top of that, I'm using = VC++8.0, compared to your VC++9.0.  But if all other routes fail, = my projects might help to get you started I suppose.

John
= --Apple-Mail-1--382199417-- From alex@phonething.com Mon Mar 14 20:22:14 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 4A2327505CE for ; Mon, 14 Mar 2011 20:22:14 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rDkIqXH0fkWf for ; Mon, 14 Mar 2011 20:22:12 +0000 (UTC) X-Greylist: delayed 6213 seconds by postgrey-1.32 at menubar.gnome.org; Mon, 14 Mar 2011 20:22:12 UTC Received: from phonething.whsites.net (phonething.whsites.net [67.212.234.29]) by menubar.gnome.org (Postfix) with ESMTP id 61F8B750171 for ; Mon, 14 Mar 2011 20:22:04 +0000 (UTC) Received: from [192.168.0.101] (cpc23-lewi15-2-0-cust239.2-4.cable.virginmedia.com [82.2.48.240]) (authenticated bits=0) by phonething.whsites.net (8.13.1/8.13.1) with ESMTP id p2EIgYYY013682 for ; Mon, 14 Mar 2011 12:42:37 -0600 Message-ID: <4D7E6198.30201@phonething.com> Date: Mon, 14 Mar 2011 18:42:32 +0000 From: Alex Kerr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: gtk-i18n-list@gnome.org Subject: What languages/scripts does Pango support? Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 20:22:14 -0000 Hi, I've hunted around but can't find a definitive list of languages or scripts that Pango can render. I realise it's probably changing all the time, but was looking at this picture: http://upload.wikimedia.org/wikipedia/commons/6/60/WritingSystemsoftheWorld4.png and wondering which Pango can't render (and if so, is there an alternative to Pango that would render what it cannot?). Or is it the case that if there's an OpenType font for a script, Pango will be able to render it correctly (including all glyph-combining and shaping required etc). Many thanks, Alex From alex@phonething.com Mon Mar 14 20:22:15 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 52416750678 for ; Mon, 14 Mar 2011 20:22:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jcdVuO35tiYb for ; Mon, 14 Mar 2011 20:22:12 +0000 (UTC) Received: from phonething.whsites.net (phonething.whsites.net [67.212.234.29]) by menubar.gnome.org (Postfix) with ESMTP id B42A07501FA for ; Mon, 14 Mar 2011 20:22:12 +0000 (UTC) Received: from [192.168.0.101] (cpc23-lewi15-2-0-cust239.2-4.cable.virginmedia.com [82.2.48.240]) (authenticated bits=0) by phonething.whsites.net (8.13.1/8.13.1) with ESMTP id p2EIcM4U004444 for ; Mon, 14 Mar 2011 12:38:27 -0600 Message-ID: <4D7E6097.3040707@phonething.com> Date: Mon, 14 Mar 2011 18:38:15 +0000 From: Alex Kerr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: gtk-i18n-list@gnome.org Subject: How to extract rendered glyphs (graphemes?) with Pango? Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 20:22:16 -0000 Hi, Can anyone suggest a method for extracting the rendered glyph images in image form (i.e. after combining and shaping) for any script please? I need them in visual order, not logical order. i.e. what APIs to use, or even source code (/pseudocode). Context is any script, but especially complex scripts, e.g. Indic, Arabic etc. I need to be able to uniquely identify each rendered glyph (/grapheme) so I know whether it's already been rendered before in a document. Obviously each glyph could consist of several unicode code points, so not sure that's the best way to track them if there's another a unique identifier for the rendered grapheme. Also, I don't suppose it's possible to extract rendered diacritics is it, and positioning information for them relative to the base character they're attached to? Would be amazing if so :) Many thanks, Alex From muquaddim@gmail.com Mon Mar 14 20:34:15 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id D4DA87501EF for ; Mon, 14 Mar 2011 20:34:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CQq1w4uxxEGc for ; Mon, 14 Mar 2011 20:34:12 +0000 (UTC) Received: from mail-yi0-f54.google.com (mail-yi0-f54.google.com [209.85.218.54]) by menubar.gnome.org (Postfix) with ESMTP id 47AB4750171 for ; Mon, 14 Mar 2011 20:34:03 +0000 (UTC) Received: by yie12 with SMTP id 12so3012551yie.27 for ; Mon, 14 Mar 2011 13:34:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=41AVN/nl3Hn0JM3KriVtP4VtvjQ6srvqGs7ifkuqFDo=; b=aydCrLGdyziyhL/0Wew8R5vKQgxk/NpDMRll333444kXsC6IgOL8zf1N8XzJ626TGZ zmbohkEPnP86/GWtiKA2a4MApex4Tyd3P6ju9vi6F7723ezhXKEDYrwJFL35MH7e5PTB Oyy5MzFV7a6G4I9OycphGj12PL9+jAkQcbiuA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=pWEqcnhkS4U2GlQkJCG/N4nwV1MX5kdES+frknNwiSk5khTQ6TFOOoicaWUKicnmE5 IT7UEBmJgezqj1F/EjRCeEYG3MWK3YkePUdxeUINOUw6ziiuUXxSuYU/2F2bVG17lLjU HA4sSAWVTT7Dy4oOSULQ4D9Fo3EilTosP3Ytk= MIME-Version: 1.0 Received: by 10.236.95.176 with SMTP id p36mr6577124yhf.112.1300134842423; Mon, 14 Mar 2011 13:34:02 -0700 (PDT) Sender: muquaddim@gmail.com Received: by 10.236.108.17 with HTTP; Mon, 14 Mar 2011 13:34:02 -0700 (PDT) In-Reply-To: <4D7E6198.30201@phonething.com> References: <4D7E6198.30201@phonething.com> Date: Tue, 15 Mar 2011 02:34:02 +0600 X-Google-Sender-Auth: uaq7lFVbyTzepiOTfVYkBU_pquw Message-ID: Subject: Re: What languages/scripts does Pango support? From: shiplu To: Alex Kerr Content-Type: multipart/alternative; boundary=0023547c8c53715fe5049e773b2e Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 20:34:16 -0000 --0023547c8c53715fe5049e773b2e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I am using Pango to render east Asian complex scripts. I believe if Pango can render those complex script (for example =E0=A6=95= =E0=A7=8D=E0=A6=B7=E0=A6=A8=E0=A6=B8=E0=A7=8D=E0=A6=A5=E0=A6=BE=E0=A7=9F=E0= =A7=80) It should be able to render almost any layout. --=20 Shiplu Mokadd.im Follow me, http://twitter.com/shiplu --0023547c8c53715fe5049e773b2e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I am using Pango to render east Asian complex scripts.=C2=A0
I believe = if Pango can render those complex script (for example =E0=A6=95=E0=A7=8D=E0= =A6=B7=E0=A6=A8=E0=A6=B8=E0=A7=8D=E0=A6=A5=E0=A6=BE=E0=A7=9F=E0=A7=80) It s= hould be able to render almost any layout.

--
Shiplu Mokadd.im<= br>Follow me, http:= //twitter.com/shiplu


--0023547c8c53715fe5049e773b2e-- From muquaddim@gmail.com Mon Mar 14 20:38:37 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 14B497501EF for ; Mon, 14 Mar 2011 20:38:37 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pbTeh37mA9zR for ; Mon, 14 Mar 2011 20:38:34 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id 4107C750171 for ; Mon, 14 Mar 2011 20:38:25 +0000 (UTC) Received: by yxl31 with SMTP id 31so3038752yxl.27 for ; Mon, 14 Mar 2011 13:38:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=NN0yySADoqgS73jMAQf0yT16EbYzPmcbk2PL/Xtj3KQ=; b=ab5Vjd3kmtMiy6p504YDo0yGujrtFM+xxwKiNNXtdUpqbLoockIJjKPmqOunT7Au19 QV+s/hhWZJHms61lXLRlYuQotgZnJKZ74Oe8QmZ9QEbik4UvR5Vv1jTer7DXD//0k+6I UUocG80tVpAGVuzMMy5fcziT3vQyzQuWxh3Hk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=WkMJn7YWyLjRB6B5yqcytr88p9aIocdataOyDu8tvbDJuu8al0codAT/Gv7Ir1LNOa /4l6/dLxvylMDlEvrxcUSwgqEp1mXDsk3xm5MSy+9Prq6WsHiRqCnohxpg3+7OcP+gIA 7VcOGPxEctt1Vb7VfwDj/jetxVAXlhobPaVG8= MIME-Version: 1.0 Received: by 10.236.72.197 with SMTP id t45mr7066783yhd.262.1300135104140; Mon, 14 Mar 2011 13:38:24 -0700 (PDT) Sender: muquaddim@gmail.com Received: by 10.236.108.17 with HTTP; Mon, 14 Mar 2011 13:38:24 -0700 (PDT) In-Reply-To: References: <4D7E6198.30201@phonething.com> Date: Tue, 15 Mar 2011 02:38:24 +0600 X-Google-Sender-Auth: mWK-pbzaByVv8qtTLxwzPRdxi20 Message-ID: Subject: Re: What languages/scripts does Pango support? From: shiplu To: Alex Kerr Content-Type: multipart/alternative; boundary=20cf30050dc60ad529049e774b87 Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 20:38:37 -0000 --20cf30050dc60ad529049e774b87 Content-Type: text/plain; charset=UTF-8 There is one way to test it. Use FreeSans font and fire "pango-view" in your linux box with a writing system. If it fails to render properly, It can not. Till now I am very satisfied with Pango. I am also interested to know which language it can not render. Currently I am not satisfied with the anti-aliasing implementation. Sometimes It works sometimes it doesn't. I am using Cairo to draw. -- Shiplu Mokadd.im Follow me, http://twitter.com/shiplu Innovation distinguishes between follower and leader --20cf30050dc60ad529049e774b87 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable There is one way to test it.
Use FreeSans font and fire "pango-vie= w" in your linux box with a writing system.
If it fails to render p= roperly, It can not.

Till now I am very satisfied with Pango. I am a= lso interested to know which language it can not render.

Currently I am not satisfied with the anti-aliasing implementation. Som= etimes It works sometimes it doesn't.=C2=A0 I am using Cairo to draw.
--
Shiplu Mokadd.im
Follow me, http://twitter.com/shiplu
Innovation distinguishes between follower and leader

--20cf30050dc60ad529049e774b87-- From behdad.esfahbod@gmail.com Mon Mar 14 20:56:52 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 76480750276 for ; Mon, 14 Mar 2011 20:56:52 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nzCzyZu3cTc2 for ; Mon, 14 Mar 2011 20:56:50 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id 563617501A3 for ; Mon, 14 Mar 2011 20:56:42 +0000 (UTC) Received: by yxl31 with SMTP id 31so3046502yxl.27 for ; Mon, 14 Mar 2011 13:56:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=JQB+Zd1iTsekyMMSPC0bKJrQkNomLpbK0O0bNCrUe7s=; b=pdq4EEZH1Y6An4E4VGZFb01ri5BCA3gWu/wwN4aLlM3qN3RTJcJRSj8XdiOD4hZb2R Zagxk7h+TzhkZP1DHnC8BnE7Dl8BWhaNNhD6+z5aMGKQCgfKd8t9ATI8ESUtUgygBUnm PVIaYG461t6T5qMapZtA5OlGTl6wlVegkbUps= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=Jj1x5ToT7qWk/74eBhtbZCvLQvJWWKelktSwGzNOicLahe57DkU/hzzWRhZIkzltQK XlwQaXt/qIol1U1M3msfCjfOsC69cxDCzc28GIp7s8uIhv2t2aU39IP2OtEzkTHiQLQH bYv0DP8cEbYBXai8N0lNpjr87aGB8jWS7w34o= Received: by 10.236.72.199 with SMTP id t47mr6965428yhd.313.1300136200598; Mon, 14 Mar 2011 13:56:40 -0700 (PDT) Received: from [172.31.211.100] (dhcp-172-31-211-100.bue.corp.google.com [172.31.211.100]) by mx.google.com with ESMTPS id u75sm5557050yhn.30.2011.03.14.13.56.38 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 14 Mar 2011 13:56:39 -0700 (PDT) Sender: Behdad Esfahbod Message-ID: <4D7E8104.9060300@behdad.org> Date: Mon, 14 Mar 2011 17:56:36 -0300 From: Behdad Esfahbod User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: Alex Kerr Subject: Re: How to extract rendered glyphs (graphemes?) with Pango? References: <4D7E6097.3040707@phonething.com> In-Reply-To: <4D7E6097.3040707@phonething.com> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 20:56:52 -0000 On 03/14/11 15:38, Alex Kerr wrote: > > Also, I don't suppose it's possible to extract rendered diacritics is it, and > positioning information for them relative to the base character they're > attached to? Would be amazing if so :) That's essentially what PangoGlyphString does. Combined with the text itself, ie, PangoGlyphItem, it gives you full information about the clusters. Check PangoGlyphItemIter for example, which iterates clusters withing a PangoGlyphItem. >From a PangoLayout you can get to the GlyphItems simply by getting the lines out of the layout and traversing line->runs which is a list of PangoLayoutRun's. PangoLayoutRun being a typedef to PangoGlyphItem. Cheers, behdad From behdad.esfahbod@gmail.com Mon Mar 14 20:58:48 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 6D8F5750655 for ; Mon, 14 Mar 2011 20:58:48 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XzsSsHJT-6ZT for ; Mon, 14 Mar 2011 20:58:45 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id 721CF7501A3 for ; Mon, 14 Mar 2011 20:58:37 +0000 (UTC) Received: by yxl31 with SMTP id 31so3047323yxl.27 for ; Mon, 14 Mar 2011 13:58:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=hFtViiB4Ewlhi1DFcDSRS+Nq0Yy8kLLcnQA7WeJquDo=; b=JNM2XMRkjoua9ovqWgIgItKXzNgUwHf+eePXTNMAurbIJLfNvQDDkj9HH3PJTnlzBJ OJUCU/GfWHg9SiTHfkBqmHTvcJsFZ3ZffGpnr5m6JT0hIpqvkyumY89rMX5wTwqDPG5J K+T0nPHG3kKYecrFtXBRUnkih3Sl1+YBHRcWk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=byWmwDiaLdptPAMZu0VRQ3aSm1HCWQfgWOSWhZ4bFuV0hUc+nIpy+DT4sM0LRUAR4e jNmOc5Z1+rlKugRQHCAHTtogi+JjmRxl3SLVUdRnIzirWXhpmQwMS8jR5D2yGbEnl1PH bMYqoQQkgTDasiAHh2dDhDk/yJwasmuaxlCs8= Received: by 10.236.67.98 with SMTP id i62mr7121535yhd.201.1300136315766; Mon, 14 Mar 2011 13:58:35 -0700 (PDT) Received: from [172.31.211.100] (dhcp-172-31-211-100.bue.corp.google.com [172.31.211.100]) by mx.google.com with ESMTPS id m25sm5558829yhm.31.2011.03.14.13.58.33 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 14 Mar 2011 13:58:35 -0700 (PDT) Sender: Behdad Esfahbod Message-ID: <4D7E8178.1040604@behdad.org> Date: Mon, 14 Mar 2011 17:58:32 -0300 From: Behdad Esfahbod User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: Alex Kerr Subject: Re: What languages/scripts does Pango support? References: <4D7E6198.30201@phonething.com> In-Reply-To: <4D7E6198.30201@phonething.com> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 20:58:49 -0000 On 03/14/11 15:42, Alex Kerr wrote: > Or is it the case that if there's an OpenType font for a script, Pango will be > able to render it correctly (including all glyph-combining and shaping > required etc). That's indeed the closest thing to an answer to your question. behdad > Many thanks, > Alex From alex@phonething.com Tue Mar 15 17:08:27 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 8611E7501F0 for ; Tue, 15 Mar 2011 17:08:27 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DB90Ld9YvA3o for ; Tue, 15 Mar 2011 17:08:25 +0000 (UTC) Received: from phonething.whsites.net (phonething.whsites.net [67.212.234.29]) by menubar.gnome.org (Postfix) with ESMTP id 64C66750096 for ; Tue, 15 Mar 2011 17:08:16 +0000 (UTC) Received: from [192.168.0.101] (cpc23-lewi15-2-0-cust239.2-4.cable.virginmedia.com [82.2.48.240]) (authenticated bits=0) by phonething.whsites.net (8.13.1/8.13.1) with ESMTP id p2FH7xeO019643; Tue, 15 Mar 2011 11:08:05 -0600 Message-ID: <4D7F9CED.5020304@phonething.com> Date: Tue, 15 Mar 2011 17:07:57 +0000 From: Alex Kerr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: Behdad Esfahbod Subject: Re: How to extract rendered glyphs (graphemes?) with Pango? References: <4D7E6097.3040707@phonething.com> <4D7E8104.9060300@behdad.org> In-Reply-To: <4D7E8104.9060300@behdad.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Mar 2011 17:08:27 -0000 OK, thanks very much for that. I've looked at those structures and I'm still not clear how to pull the combined, shaped and rendered glyphs out in bitmap form though. Those structures appear to hold geometry and other data, but not in rendered form. i.e. I actually need to programmatically cut up the rendered glyphs out of the rendered bitmap string. or alternatively pass the data for individual graphemes (glyphs? whatever the final product is of combining multiple unicode code points and then shaping them etc) to the renderer one at a time. I will say, this process does not have to be efficient at all as it won't be used in real time, just to render and then chop up (visually) the generated letters. So: a.) How do I get at the rendered letters (in visual order) ? b.) How do I separate out the diacritics also in rendered form (if at all possible) and know where to place them (in pixels) relative to the main character? c.) How do I uniquely identify each rendered letter so that I know if I encounter it a second time in the text I'm processing. I'm guessing I do a normal render of the text using pangocairo (e.g. as per examples I've found), then somehow chop the bitmap up (or copy from it) according to position data held in the structures somewhere - but not sure of specifics! Any specifics much appreciated :) Many thanks, Alex On 14/03/2011 20:56, Behdad Esfahbod wrote: > On 03/14/11 15:38, Alex Kerr wrote: >> Also, I don't suppose it's possible to extract rendered diacritics is it, and >> positioning information for them relative to the base character they're >> attached to? Would be amazing if so :) > That's essentially what PangoGlyphString does. Combined with the text itself, > ie, PangoGlyphItem, it gives you full information about the clusters. Check > PangoGlyphItemIter for example, which iterates clusters withing a PangoGlyphItem. > > > From a PangoLayout you can get to the GlyphItems simply by getting the lines > out of the layout and traversing line->runs which is a list of > PangoLayoutRun's. PangoLayoutRun being a typedef to PangoGlyphItem. > > Cheers, > behdad > > From lambourg@adacore.com Sun Mar 20 11:35:00 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 759837503DB for ; Sun, 20 Mar 2011 11:35:00 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7MT-E5H9tlo9 for ; Sun, 20 Mar 2011 11:34:58 +0000 (UTC) X-Greylist: delayed 372 seconds by postgrey-1.32 at menubar.gnome.org; Sun, 20 Mar 2011 11:34:57 UTC Received: from mel.act-europe.fr (mel.act-europe.fr [194.98.77.210]) by menubar.gnome.org (Postfix) with ESMTP id D5845750127 for ; Sun, 20 Mar 2011 11:34:49 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 08EF9CB02D9 for ; Sun, 20 Mar 2011 12:28:35 +0100 (CET) X-Virus-Scanned: amavisd-new at eu.adacore.com Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ffZdXXLArQSI for ; Sun, 20 Mar 2011 12:28:32 +0100 (CET) Received: from lagny.0.168.192.in-addr.arpa (www.lambourg.com [82.238.105.98]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id D0291CB029E for ; Sun, 20 Mar 2011 12:28:31 +0100 (CET) From: Jerome Lambourg Content-Type: multipart/mixed; boundary=Apple-Mail-712-190764353 Subject: CoreText in pango for OSX 64-bit Date: Sun, 20 Mar 2011 12:28:31 +0100 Message-Id: To: gtk-i18n-list@gnome.org Mime-Version: 1.0 (Apple Message framework v1082) X-Mailer: Apple Mail (2.1082) X-Mailman-Approved-At: Sun, 20 Mar 2011 12:13:03 +0000 X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Mar 2011 11:35:00 -0000 --Apple-Mail-712-190764353 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hi list, I recently managed to make gtk+ working natively (e.g. without using = X11) on my SL machine, many thanks to all that made this happening (and = I know the pango team made a big effort for implementing the atsui = module) ! However, with this native gtk, I had big performance issues, and some = analysis showed that the culprit was the use of ATSUI in pango (in = particular ATSUDirectGetLayoutDataArrayPtrFromTextLayout seem to take = ages to complete). I understand that supporting ATSUI is important for Tiger suppoirt, = however this API is deprecated and is very, very slow (at least on my = Snow Leopard, 64bit machine). I thus modified pango to switch to CoreText with a 64bit compiler, for = which the necessary API should always be present. Attached is the patch of this modification, applied to pango-1.28.3. If another procedure is required to submit patches, please tell me so, I = would be glad to follow this procedure. Regards, - Jerome --Apple-Mail-712-190764353 Content-Disposition: attachment; filename=pango-1.28.3.diff Content-Type: application/octet-stream; name="pango-1.28.3.diff" Content-Transfer-Encoding: 7bit *** ../orig/pango-1.28.3/pango/pangoatsui-private.h Tue Feb 9 13:06:28 2010 --- ./pango/pangoatsui-private.h Sat Mar 19 14:02:34 2011 *************** *** 95,102 **** --- 95,107 ---- gpointer context_key); void _pango_atsui_font_set_cgfont (PangoATSUIFont *font, CGFontRef font_id); + #ifndef __LP64__ void _pango_atsui_font_set_atsfont (PangoATSUIFont *font, ATSFontRef font_ref); + #else + void _pango_atsui_font_set_ctfont (PangoATSUIFont *font, + CTFontRef font_ref); + #endif G_END_DECLS *** ../orig/pango-1.28.3/pango/pangoatsui.c Tue Feb 9 13:06:28 2010 --- ./pango/pangoatsui.c Sat Mar 19 14:17:06 2011 *************** *** 33,40 **** gpointer context_key; CGFontRef font_id; ATSFontRef font_ref; ! PangoFontMap *fontmap; }; --- 33,43 ---- gpointer context_key; CGFontRef font_id; + #ifndef __LP64__ ATSFontRef font_ref; ! #else ! CTFontRef font_ref; ! #endif PangoFontMap *fontmap; }; *************** *** 185,190 **** --- 188,194 ---- priv->font_id = font_id; } + #ifndef __LP64__ void _pango_atsui_font_set_atsfont (PangoATSUIFont *font, ATSFontRef font_ref) *************** *** 193,198 **** --- 197,212 ---- priv->font_ref = font_ref; } + #else + void + _pango_atsui_font_set_ctfont (PangoATSUIFont *font, + CTFontRef font_ref) + { + PangoATSUIFontPrivate *priv = font->priv; + + priv->font_ref = font_ref; + } + #endif /** * pango_atsui_font_get_cgfont: *************** *** 212,217 **** --- 226,232 ---- return priv->font_id; } + #ifndef __LP64__ /** * pango_atsui_font_get_atsfont: * @font: A #PangoATSUIFont *************** *** 229,231 **** --- 244,265 ---- return priv->font_ref; } + #else + /** + * pango_atsui_font_get_ctfont: + * @font: A #PangoATSUIFont + * + * Returns the CTFontRef of a font. + * + * Return value: the CTFontRef associated to @font. + * + * Since: 1.28 + */ + CTFontRef + pango_atsui_font_get_ctfont (PangoATSUIFont *font) + { + PangoATSUIFontPrivate *priv = font->priv; + + return priv->font_ref; + } + #endif *** ../orig/pango-1.28.3/pango/pangoatsui.h Tue Feb 9 13:06:28 2010 --- ./pango/pangoatsui.h Sat Mar 19 14:16:36 2011 *************** *** 69,76 **** #endif /* PANGO_ENABLE_BACKEND */ CGFontRef pango_atsui_font_get_cgfont (PangoATSUIFont *font); ATSFontRef pango_atsui_font_get_atsfont (PangoATSUIFont *font); ! #endif /* PANGO_ENABLE_ENGINE || PANGO_ENABLE_BACKEND */ GType pango_atsui_font_get_type (void) G_GNUC_CONST; --- 69,79 ---- #endif /* PANGO_ENABLE_BACKEND */ CGFontRef pango_atsui_font_get_cgfont (PangoATSUIFont *font); + #ifndef __LP64__ ATSFontRef pango_atsui_font_get_atsfont (PangoATSUIFont *font); ! #else ! CTFontRef pango_atsui_font_get_ctfont (PangoATSUIFont *font); ! #endif #endif /* PANGO_ENABLE_ENGINE || PANGO_ENABLE_BACKEND */ GType pango_atsui_font_get_type (void) G_GNUC_CONST; *** ../orig/pango-1.28.3/pango/pangocairo-atsuifontmap.c Tue Feb 9 13:06:28 2010 --- ./pango/pangocairo-atsuifontmap.c Sat Mar 19 18:53:29 2011 *************** *** 82,89 **** static void pango_cairo_atsui_font_map_finalize (GObject *object) { - PangoCairoATSUIFontMap *cafontmap = PANGO_CAIRO_ATSUI_FONT_MAP (object); - G_OBJECT_CLASS (pango_cairo_atsui_font_map_parent_class)->finalize (object); } --- 82,87 ---- *** ../orig/pango-1.28.3/pango/pangocairo-atsuifont.c Thu Jul 1 16:00:29 2010 --- pango/pangocairo-atsuifont.c Sun Mar 20 00:21:52 2011 *************** *** 88,121 **** return cairo_quartz_font_face_create_for_cgfont (font_id); } - static int - max_glyph_width (PangoLayout *layout) - { - int max_width = 0; - GSList *l, *r; - - for (l = pango_layout_get_lines_readonly (layout); l; l = l->next) - { - PangoLayoutLine *line = l->data; - - for (r = line->runs; r; r = r->next) - { - PangoGlyphString *glyphs = ((PangoGlyphItem *)r->data)->glyphs; - int i; - - for (i = 0; i < glyphs->num_glyphs; i++) - if (glyphs->glyphs[i].geometry.width > max_width) - max_width = glyphs->glyphs[i].geometry.width; - } - } - - return max_width; - } - static PangoFontMetrics * pango_cairo_atsui_font_create_base_metrics_for_context (PangoCairoFont *font, PangoContext *context) { PangoCairoATSUIFont *cafont = (PangoCairoATSUIFont *) font; PangoATSUIFont *afont = (PangoATSUIFont *) font; ATSFontRef ats_font; --- 88,98 ---- return cairo_quartz_font_face_create_for_cgfont (font_id); } static PangoFontMetrics * pango_cairo_atsui_font_create_base_metrics_for_context (PangoCairoFont *font, PangoContext *context) { + #ifndef __LP64__ PangoCairoATSUIFont *cafont = (PangoCairoATSUIFont *) font; PangoATSUIFont *afont = (PangoATSUIFont *) font; ATSFontRef ats_font; *************** *** 137,142 **** --- 114,139 ---- metrics->strikethrough_thickness = ats_metrics.underlineThickness * cafont->size * PANGO_SCALE; return metrics; + #else + CTFontRef font_ref; + PangoFontMetrics *metrics; + CGFloat value; + + metrics = pango_font_metrics_new (); + + font_ref = pango_atsui_font_get_ctfont ((PangoATSUIFont*)font); + value = CTFontGetAscent (font_ref); + //printf ("ascent is %f\n", value); + metrics->ascent = value * PANGO_SCALE; + metrics->descent = CTFontGetDescent (font_ref) * PANGO_SCALE; + metrics->underline_position = CTFontGetUnderlinePosition (font_ref) * PANGO_SCALE; + metrics->underline_thickness = CTFontGetUnderlineThickness (font_ref) * PANGO_SCALE; + + metrics->strikethrough_position = metrics->ascent / 3; + metrics->strikethrough_thickness = metrics->underline_thickness; + + return metrics; + #endif } static PangoFontDescription * *************** *** 180,185 **** --- 177,188 ---- { } + #ifndef __LP64__ + #define INVALID_FONT_REF(f) (f == kATSFontRefUnspecified) + #else + #define INVALID_FONT_REF(f) (f == NULL) + #endif + PangoATSUIFont * _pango_cairo_atsui_font_new (PangoCairoATSUIFontMap *cafontmap, PangoContext *context, *************** *** 191,210 **** PangoCairoATSUIFont *cafont; PangoATSUIFont *afont; CFStringRef cfstr; ATSFontRef font_ref; CGFontRef font_id; double size, abs_size; double dpi; double m; cairo_matrix_t font_matrix; - postscript_name = _pango_atsui_face_get_postscript_name (face); - - cfstr = CFStringCreateWithCString (NULL, postscript_name, - kCFStringEncodingUTF8); - font_ref = ATSFontFindFromPostScriptName (cfstr, kATSOptionFlagsDefault); - CFRelease (cfstr); - abs_size = size = pango_units_to_double (pango_font_description_get_size (desc)); if (context) --- 194,210 ---- PangoCairoATSUIFont *cafont; PangoATSUIFont *afont; CFStringRef cfstr; + #ifndef __LP64__ ATSFontRef font_ref; + #else + CTFontRef font_ref; + #endif CGFontRef font_id; double size, abs_size; double dpi; double m; cairo_matrix_t font_matrix; abs_size = size = pango_units_to_double (pango_font_description_get_size (desc)); if (context) *************** *** 222,233 **** else abs_size *= dpi / 72.; /* We synthesize italic in two cases. The first is when * NSFontManager has handed out a face that it claims has italic but * it doesn't. The other is when an italic face is requested that * doesn't have a real version. */ ! if (font_ref == kATSFontRefUnspecified && pango_font_description_get_style (desc) != PANGO_STYLE_NORMAL) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; --- 222,244 ---- else abs_size *= dpi / 72.; + postscript_name = _pango_atsui_face_get_postscript_name (face); + + cfstr = CFStringCreateWithCString (NULL, postscript_name, + kCFStringEncodingUTF8); + #ifndef __LP64__ + font_ref = ATSFontFindFromPostScriptName (cfstr, kATSOptionFlagsDefault); + #else + font_ref = CTFontCreateWithName (cfstr, size, NULL); + #endif + CFRelease (cfstr); + /* We synthesize italic in two cases. The first is when * NSFontManager has handed out a face that it claims has italic but * it doesn't. The other is when an italic face is requested that * doesn't have a real version. */ ! if (INVALID_FONT_REF(font_ref) && pango_font_description_get_style (desc) != PANGO_STYLE_NORMAL) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; *************** *** 239,246 **** --- 250,261 ---- converted_font = [[NSFontManager sharedFontManager] convertFont:nsfont toHaveTrait:NSUnitalicFontMask]; + #ifndef __LP64__ font_ref = ATSFontFindFromPostScriptName ((CFStringRef) [converted_font fontName], kATSOptionFlagsDefault); + #else + font_ref = (CTFontRef) converted_font; + #endif [pool release]; *************** *** 249,258 **** else if (_pango_atsui_face_get_synthetic_italic (face)) synthesize_italic = TRUE; ! if (font_ref == kATSFontRefUnspecified) return NULL; font_id = CGFontCreateWithPlatformFont (&font_ref); if (!font_id) return NULL; --- 264,277 ---- else if (_pango_atsui_face_get_synthetic_italic (face)) synthesize_italic = TRUE; ! if (INVALID_FONT_REF (font_ref)) return NULL; + #ifndef __LP64__ font_id = CGFontCreateWithPlatformFont (&font_ref); + #else + font_id = CTFontCopyGraphicsFont (font_ref, NULL); + #endif if (!font_id) return NULL; *************** *** 263,270 **** _pango_atsui_font_set_face (afont, face); _pango_atsui_font_set_cgfont (afont, font_id); _pango_atsui_font_set_atsfont (afont, font_ref); ! cafont->size = abs_size; /* When synthesizing italics, apply a shear matrix matching what Cocoa --- 282,292 ---- _pango_atsui_font_set_face (afont, face); _pango_atsui_font_set_cgfont (afont, font_id); + #ifndef __LP64__ _pango_atsui_font_set_atsfont (afont, font_ref); ! #else ! _pango_atsui_font_set_ctfont (afont, font_ref); ! #endif cafont->size = abs_size; /* When synthesizing italics, apply a shear matrix matching what Cocoa *** ../orig/pango-1.28.3/modules/basic/basic-atsui.c Thu Jul 1 16:00:29 2010 --- modules/basic/basic-atsui.c Sun Mar 20 12:22:11 2011 *************** *** 22,28 **** --- 22,32 ---- #include "config.h" #include #include + #ifndef __LP64 #include + #else + #include + #endif #include "pango-engine.h" #include "pango-utils.h" #include "pango-fontmap.h" *************** *** 76,81 **** --- 80,86 ---- const PangoAnalysis *analysis, PangoGlyphString *glyphs) { + #ifndef __LP64__ gunichar2 *utf16; long n16; ATSUTextLayout text_layout; *************** *** 170,175 **** --- 175,239 ---- ATSUDisposeTextLayout (text_layout); g_free (utf16); + #else + gunichar2 *utf16; + long n16; + + utf16 = g_utf8_to_utf16 (text, length, NULL, &n16, NULL); + + CGGlyph cgglyphs[n16]; + CTFontRef ctfont = pango_atsui_font_get_ctfont (PANGO_ATSUI_FONT (font)); + gboolean err; + int i; + const char *p; + + err = CTFontGetGlyphsForCharacters + (ctfont, utf16, cgglyphs, n16); + pango_glyph_string_set_size (glyphs, n16); + p = text; + + for (i = 0; i < n16; i++) + { + gunichar wc = utf16[i]; + gunichar mirrored_ch; + + if (analysis->level % 2) + if (pango_get_mirror_char (wc, &mirrored_ch)) + wc = mirrored_ch; + + if (wc == 0xa0) /* non-break-space */ + wc = 0x20; + + if (pango_is_zero_width (wc)) { + set_glyph (font, glyphs, i, p - text, PANGO_GLYPH_EMPTY); + } + else + { + set_glyph (font, glyphs, i, p - text, cgglyphs[i]); + + if (g_unichar_type (wc) == G_UNICODE_NON_SPACING_MARK) + { + if (i > 0) + { + PangoRectangle logical_rect, ink_rect; + + glyphs->glyphs[i].geometry.width = MAX (glyphs->glyphs[i-1].geometry.width, + glyphs->glyphs[i].geometry.width); + glyphs->glyphs[i-1].geometry.width = 0; + glyphs->log_clusters[i] = glyphs->log_clusters[i-1]; + + /* Some heuristics to try to guess how overstrike glyphs are + * done and compensate + */ + pango_font_get_glyph_extents (font, glyphs->glyphs[i].glyph, &ink_rect, &logical_rect); + if (logical_rect.width == 0 && ink_rect.x == 0) + glyphs->glyphs[i].geometry.x_offset = (glyphs->glyphs[i].geometry.width - ink_rect.width) / 2; + } + } + } + p = g_utf8_next_char (p); + } + #endif } static void --Apple-Mail-712-190764353-- From msevior@gmail.com Sun Mar 20 22:32:17 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 4F5887503C4 for ; Sun, 20 Mar 2011 22:32:17 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.623 X-Spam-Level: X-Spam-Status: No, score=-2.623 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JcJh3kv95QGK for ; Sun, 20 Mar 2011 22:32:15 +0000 (UTC) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by menubar.gnome.org (Postfix) with ESMTP id D9C2F750282 for ; Sun, 20 Mar 2011 22:32:06 +0000 (UTC) Received: by vws18 with SMTP id 18so7751077vws.27 for ; Sun, 20 Mar 2011 15:32:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=rCIdDXTrpyrpFs4rq3p7rTZAq6pLeOd7anCskh4scRE=; b=t+rnbOa3siLvaBoY0s8Hb0U2tNQP5qBwiOstfi+sTcmyh7emG4wQC0foLcsHz+WzuH m8LpGZrumCvqmVFaMRhdo0mh1WW1nRMpSDons9qHB9Q9J6FNQjnO5FKffLPgJV8jUZwM X3qAT5QVp6LQWYwB+vWH3yULESQ6rC9NwQ7xw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=PmzEbyF38CFSSsf73jFEDCWB6omzwnHtv4SUJ8BuYNK7pnCMRzTz7nq/PHzZvPfC4B OgWb+cxjK4EShckQUk5B3ja+RooBfceZmVeAtNf1lt0cAniXFThXa3FP9ZjndSxgIiqN vPpu2N9peHOSc6j4H2ucWUdhaYMBDUw4YbmQY= MIME-Version: 1.0 Received: by 10.220.122.5 with SMTP id j5mr973087vcr.119.1300660325022; Sun, 20 Mar 2011 15:32:05 -0700 (PDT) Received: by 10.220.194.3 with HTTP; Sun, 20 Mar 2011 15:32:04 -0700 (PDT) In-Reply-To: References: Date: Mon, 21 Mar 2011 09:32:04 +1100 Message-ID: Subject: Re: CoreText in pango for OSX 64-bit From: Martin Sevior To: Jerome Lambourg Content-Type: text/plain; charset=ISO-8859-1 Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Mar 2011 22:32:17 -0000 Congratulations Jerome, This is a great news! With coretext support pango can be used on iPhones and iPads :-) Amongst other things, this will greatly help AbiWord's native OSX port. Cheers, Martin On Sun, Mar 20, 2011 at 10:28 PM, Jerome Lambourg wrote: > Hi list, > > I recently managed to make gtk+ working natively (e.g. without using X11) on my SL machine, many thanks to all that made this happening (and I know the pango team made a big effort for implementing the atsui module) ! > > However, with this native gtk, I had big performance issues, and some analysis showed that the culprit was the use of ATSUI in pango (in particular ATSUDirectGetLayoutDataArrayPtrFromTextLayout seem to take ages to complete). > > I understand that supporting ATSUI is important for Tiger suppoirt, however this API is deprecated and is very, very slow (at least on my Snow Leopard, 64bit machine). > > I thus modified pango to switch to CoreText with a 64bit compiler, for which the necessary API should always be present. > > Attached is the patch of this modification, applied to pango-1.28.3. > > If another procedure is required to submit patches, please tell me so, I would be glad to follow this procedure. > > Regards, > - Jerome > > > _______________________________________________ > gtk-i18n-list mailing list > gtk-i18n-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtk-i18n-list > > From behdad.esfahbod@gmail.com Mon Mar 21 19:59:11 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 2A90B7502F3 for ; Mon, 21 Mar 2011 19:59:11 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.523 X-Spam-Level: X-Spam-Status: No, score=-2.523 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KiOS2Cg39hog for ; Mon, 21 Mar 2011 19:59:08 +0000 (UTC) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by menubar.gnome.org (Postfix) with ESMTP id B314F750B48 for ; Mon, 21 Mar 2011 19:58:59 +0000 (UTC) Received: by ywf9 with SMTP id 9so3583445ywf.27 for ; Mon, 21 Mar 2011 12:58:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=L8dyCRCbThB7km7lK9D5unpQyGMOc9dIof1pht19lx0=; b=a9/ALCiiX8M6+BzopmdjeJAfpm9FjCowVdEFB2kUPiFHNzFCFqy4xuBc72JuI+2S2P DmUJuyirx0HgczFSTHhrhcrTlid19ZOGM9urOPPGJl4F9wLDPM/OHQjd+t6Rn5yfxhuC NbgS1RLS9SX7YkoL+5sO+s7FHS6RNFfFKnk1I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=yF42IlTUVTjdiWNm7qF9aBlyAY/BNw/5WOhbxZRMiqMMowyihP8eBtEtRra71TpA7Q joUWDm5VpNWBuWfuxI5AwnUAK32UB7Z2zkFTW6vWi6SV0XQ0BU2PODYpK/k1Ey+JtPGO EVHsoEz57XIVBvXiiAulg2tuTD9xog3lnyznM= Received: by 10.236.184.165 with SMTP id s25mr5915470yhm.296.1300737537700; Mon, 21 Mar 2011 12:58:57 -0700 (PDT) Received: from [172.31.216.200] (dhcp-172-31-216-200.bue.corp.google.com [172.31.216.200]) by mx.google.com with ESMTPS id u5sm2511059yhn.51.2011.03.21.12.58.55 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 21 Mar 2011 12:58:56 -0700 (PDT) Sender: Behdad Esfahbod Message-ID: <4D87ADFD.40705@behdad.org> Date: Mon, 21 Mar 2011 16:58:53 -0300 From: Behdad Esfahbod User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: Jerome Lambourg Subject: Re: CoreText in pango for OSX 64-bit References: In-Reply-To: X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 19:59:11 -0000 Hi Jerome, Please produce a unified diff (-u) and attach to this bug with your comments: https://bugzilla.gnome.org/show_bug.cgi?id=611943 behdad On 03/20/11 08:28, Jerome Lambourg wrote: > Hi list, > > I recently managed to make gtk+ working natively (e.g. without using X11) on my SL machine, many thanks to all that made this happening (and I know the pango team made a big effort for implementing the atsui module) ! > > However, with this native gtk, I had big performance issues, and some analysis showed that the culprit was the use of ATSUI in pango (in particular ATSUDirectGetLayoutDataArrayPtrFromTextLayout seem to take ages to complete). > > I understand that supporting ATSUI is important for Tiger suppoirt, however this API is deprecated and is very, very slow (at least on my Snow Leopard, 64bit machine). > > I thus modified pango to switch to CoreText with a 64bit compiler, for which the necessary API should always be present. > > Attached is the patch of this modification, applied to pango-1.28.3. > > If another procedure is required to submit patches, please tell me so, I would be glad to follow this procedure. > > Regards, > - Jerome > > > > > _______________________________________________ > gtk-i18n-list mailing list > gtk-i18n-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtk-i18n-list From lambourg@adacore.com Tue Mar 22 08:01:32 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E2085750306 for ; Tue, 22 Mar 2011 08:01:31 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TFSGQOIKyIFz for ; Tue, 22 Mar 2011 08:01:29 +0000 (UTC) Received: from mel.act-europe.fr (mel.act-europe.fr [194.98.77.210]) by menubar.gnome.org (Postfix) with ESMTP id BFF397502AB for ; Tue, 22 Mar 2011 08:01:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 41CCECB02F0; Tue, 22 Mar 2011 09:01:19 +0100 (CET) X-Virus-Scanned: amavisd-new at eu.adacore.com Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W-lK77Xt7--k; Tue, 22 Mar 2011 09:01:16 +0100 (CET) Received: from [172.20.10.3] (unknown [80.10.46.70]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 94FBDCB02A7; Tue, 22 Mar 2011 09:01:15 +0100 (CET) Message-ID: <4D885749.2020007@adacore.com> Date: Tue, 22 Mar 2011 09:01:13 +0100 From: Jerome Lambourg User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Mnenhy/0.8.3 Thunderbird/3.1.9 MIME-Version: 1.0 To: Behdad Esfahbod Subject: Re: CoreText in pango for OSX 64-bit References: <4D87ADFD.40705@behdad.org> In-Reply-To: <4D87ADFD.40705@behdad.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 08:01:32 -0000 On 21/03/11 20:58, Behdad Esfahbod wrote: > Hi Jerome, > > Please produce a unified diff (-u) and attach to this bug with your comments: > > https://bugzilla.gnome.org/show_bug.cgi?id=611943 > > behdad Thanks for the feedback ! I just added my contribution to the bug. - Jerome From coder@c-base.org Thu Mar 31 15:15:22 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 5B2B775047A for ; Thu, 31 Mar 2011 15:15:22 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NPzrbP+bH0as for ; Thu, 31 Mar 2011 15:15:19 +0000 (UTC) X-Greylist: delayed 3000 seconds by postgrey-1.32 at menubar.gnome.org; Thu, 31 Mar 2011 15:15:19 UTC Received: from mail.datenhain.de (mail.datenhain.de [188.40.158.81]) by menubar.gnome.org (Postfix) with ESMTP id A51247503C5 for ; Thu, 31 Mar 2011 15:15:11 +0000 (UTC) Received: from [212.63.41.234] (helo=[192.168.100.144]) by mail.datenhain.de with esmtpsa (TLS-1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.63) (envelope-from ) id 1Q5Io3-0005Vo-9q for gtk-i18n-list@gnome.org; Thu, 31 Mar 2011 16:25:08 +0200 From: Ulrich von Zadow Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: Use english font face names instead of system locale Date: Thu, 31 Mar 2011 16:25:02 +0200 Message-Id: <6C5B4C7C-D725-4105-8FC3-E1D394F75D1A@c-base.org> To: gtk-i18n-list@gnome.org Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) X-Warning: helo verification failed X-Host-Lookup-Failed: Reverse DNS lookup failed for 212.63.41.234 (failed) X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 15:15:22 -0000 Hi, I'm trying to select fonts based on the english face names ('Regular', = 'Bold' etc.) consistently and ignore the locale settings. Under linux = and MacOS, this works if I do=20 setEnv("LC_CTYPE", "en-us"); pango_font_map_list_families(PANGO_FONT_MAP(m_pFontMap), = &m_ppFontFamilies,=20 &m_NumFontFamilies); Under windows, the same code has no effect at all. If LC_CTYPE is set to = 'en' or not set at all before program start, I get english results. If = it's set to 'de', I get german results, and if it's set to 'C', I get = e.g. ['Black', 'Normal', 'Negreta', 'Negreta cursiva', 'Cursiva'] for = Arial, which seems to be a mixture of different randomly selected = languages. I'm confused. Is there an official way to say 'please use english for = face names'? How does pango/fontconfig select the language to use for = face names? Thanks for any help, Uli -- Any technology distinguishable from magic is insufficiently advanced. Ulrich von Zadow | +49-172-7872715 Jabber: coder@c-base.org Skype: uzadow From behdad.esfahbod@gmail.com Thu Mar 31 21:35:38 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 756D275047B for ; Thu, 31 Mar 2011 21:35:38 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XikzbiOKzyfk for ; Thu, 31 Mar 2011 21:35:36 +0000 (UTC) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by menubar.gnome.org (Postfix) with ESMTP id C17F7750C35 for ; Thu, 31 Mar 2011 21:35:28 +0000 (UTC) Received: by gxk28 with SMTP id 28so1628731gxk.27 for ; Thu, 31 Mar 2011 14:35:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=YeI/5r5nVj/rfbaDXk8D7COd8JE/I69oeSK4qZzpZUE=; b=emgUJ4q6c2ocExErGKPDn7Cp7SN64oTuh5wPMe9rhl2cj3N5swfaqdOdRmx37Q3hRI B1zxrrFLAkh8Zrmo0AlgsRSduegT1fZahzwRQI8YRzxwiF7def8dIYboiij3xG+PBdyU KDKhHcZ56XSms4iMTTUSwqWGz37OPKInwngkU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=vJd/f2UQEKMXWbIZHqzhzFzpK7qnyBfdZ+MIAwb8kDJ/XlbTX+9SvxhRV1axyBcm5i LFM/KeJISmNpMbQ6Rlm2nWGhuNP3hUF+aM2+KDboXPIxjSN98ycsSctzSvOoWWCEZ2b0 3e4Cn/Tmu4t4oLlOLNj+9hDyyPQJrVqiQc9Rk= Received: by 10.236.186.2 with SMTP id v2mr4366986yhm.154.1301607326731; Thu, 31 Mar 2011 14:35:26 -0700 (PDT) Received: from [172.29.40.170] (dhcp-172-29-40-170.tor.corp.google.com [172.29.40.170]) by mx.google.com with ESMTPS id x69sm773743yhn.41.2011.03.31.14.35.24 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 31 Mar 2011 14:35:25 -0700 (PDT) Sender: Behdad Esfahbod Message-ID: <4D94F39C.9070109@behdad.org> Date: Thu, 31 Mar 2011 17:35:24 -0400 From: Behdad Esfahbod User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: Ulrich von Zadow Subject: Re: Use english font face names instead of system locale References: <6C5B4C7C-D725-4105-8FC3-E1D394F75D1A@c-base.org> In-Reply-To: <6C5B4C7C-D725-4105-8FC3-E1D394F75D1A@c-base.org> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 21:35:38 -0000 On 03/31/11 10:25, Ulrich von Zadow wrote: > I'm confused. Is there an official way to say 'please use english for face names'? How does pango/fontconfig select the language to use for face names? Actually right now fontconfig is buggy and returns the first style name, no matter what language that is. :( I plan to fix it, but don't have time to spend on fontconfig immediately. It's somewhere there in fontconfig bugzilla. behdad From coder@c-base.org Thu Mar 31 22:25:41 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B95B1750C32 for ; Thu, 31 Mar 2011 22:25:41 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wnsAgbQQyvxM for ; Thu, 31 Mar 2011 22:25:38 +0000 (UTC) Received: from mail.datenhain.de (mail.datenhain.de [188.40.158.81]) by menubar.gnome.org (Postfix) with ESMTP id 75ACE75047B for ; Thu, 31 Mar 2011 22:25:30 +0000 (UTC) Received: from p54bdbb92.dip.t-dialin.net ([84.189.187.146] helo=[192.168.2.100]) by mail.datenhain.de with esmtpsa (TLS-1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.63) (envelope-from ) id 1Q5QIy-0004X3-44; Fri, 01 Apr 2011 00:25:28 +0200 Subject: Re: Use english font face names instead of system locale Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Ulrich von Zadow In-Reply-To: <4D94F39C.9070109@behdad.org> Date: Fri, 1 Apr 2011 00:25:26 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <6C5B4C7C-D725-4105-8FC3-E1D394F75D1A@c-base.org> <4D94F39C.9070109@behdad.org> To: Behdad Esfahbod X-Mailer: Apple Mail (2.1084) X-Warning: helo verification failed Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 22:25:41 -0000 On Mar 31, 2011, at 11:35 PM, Behdad Esfahbod wrote: > On 03/31/11 10:25, Ulrich von Zadow wrote: >> I'm confused. Is there an official way to say 'please use english for = face names'? How does pango/fontconfig select the language to use for = face names? >=20 > Actually right now fontconfig is buggy and returns the first style = name, no > matter what language that is. :( I plan to fix it, but don't have = time to > spend on fontconfig immediately. It's somewhere there in fontconfig = bugzilla. Are you aware that there's a patch at=20 = https://bugs.launchpad.net/ubuntu/+source/fontconfig/+bug/105900/comments/= 74 ? Cheers, Uli -- Any technology distinguishable from magic is insufficiently advanced. Ulrich von Zadow | +49-172-7872715 Jabber: coder@c-base.org Skype: uzadow From behdad.esfahbod@gmail.com Thu Mar 31 22:31:48 2011 Return-Path: X-Original-To: gtk-i18n-list@gnome.org Delivered-To: gtk-i18n-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 94154750506 for ; Thu, 31 Mar 2011 22:31:48 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sKqeL08Y5b44 for ; Thu, 31 Mar 2011 22:31:46 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id 5BD1A75047B for ; Thu, 31 Mar 2011 22:31:37 +0000 (UTC) Received: by yxl31 with SMTP id 31so1656911yxl.27 for ; Thu, 31 Mar 2011 15:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=S4Tqox/5+FdNaQiCwczTeF38BlImWfMBcfNCN6Cn1X4=; b=GoSViOc2jno3qdjHGZy0aoTYyXNJmNaGvrqtPqi+m/YeYtuxatr2QMpXQ/cgUxCla0 K/CvZpZQgwF9C4L3UhQpbRbXebRZNN88YuDmCM6Dg7CKBQLFBXW+k4JMRtk/q0bG6MQd 2C97UnnIW0UlJxvf8WVSrfKQjYzcqQ68QNVvk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=uPJIY/WLBIaGKVB6p4u+hD1k2R5XbUXd0wDti+i8uSOifnyj/JVHxSU/CjLQqAymFD LuTbiyPi8mNvw4GXjz8nfVVy3nE1OQnhsRfZ47eR1p6gX9c/4ymPOmIaBjpMtO2ocH2r pJydF3JiFhVcJHp2rYrlHX1MbYHvvq8ANlQ84= Received: by 10.236.73.167 with SMTP id v27mr4652821yhd.316.1301610695153; Thu, 31 Mar 2011 15:31:35 -0700 (PDT) Received: from [172.29.40.170] (dhcp-172-29-40-170.tor.corp.google.com [172.29.40.170]) by mx.google.com with ESMTPS id x63sm801585yhn.4.2011.03.31.15.31.33 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 31 Mar 2011 15:31:34 -0700 (PDT) Sender: Behdad Esfahbod Message-ID: <4D9500C4.3080405@behdad.org> Date: Thu, 31 Mar 2011 18:31:32 -0400 From: Behdad Esfahbod User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: Ulrich von Zadow Subject: Re: Use english font face names instead of system locale References: <6C5B4C7C-D725-4105-8FC3-E1D394F75D1A@c-base.org> <4D94F39C.9070109@behdad.org> In-Reply-To: X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: gtk-i18n-list@gnome.org X-BeenThere: gtk-i18n-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Internationalization and GTK+ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 22:31:48 -0000 On 03/31/11 18:25, Ulrich von Zadow wrote: > > On Mar 31, 2011, at 11:35 PM, Behdad Esfahbod wrote: > >> On 03/31/11 10:25, Ulrich von Zadow wrote: >>> I'm confused. Is there an official way to say 'please use english for face names'? How does pango/fontconfig select the language to use for face names? >> >> Actually right now fontconfig is buggy and returns the first style name, no >> matter what language that is. :( I plan to fix it, but don't have time to >> spend on fontconfig immediately. It's somewhere there in fontconfig bugzilla. > > > Are you aware that there's a patch at > > https://bugs.launchpad.net/ubuntu/+source/fontconfig/+bug/105900/comments/74 > > ? I wasn't. But the patch is, as the author has made it clear himself, just a hack. If someone offers their time, I can point them in the right direction... Cheers, behdad > Cheers, > > Uli > -- > Any technology distinguishable from magic is insufficiently advanced. > > Ulrich von Zadow | +49-172-7872715 > Jabber: coder@c-base.org > Skype: uzadow > > > >