From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
To: Adrian Robert <adrian.b.robert@gmail.com>
Cc: emacs-devel@gnu.org, Kenichi Handa <handa@m17n.org>
Subject: Re: fail on osx between 2/4/2009 and 2/5/2009
Date: Tue, 17 Feb 2009 20:09:28 +0900 [thread overview]
Message-ID: <wltz6twc9j.wl%mituharu@math.s.chiba-u.ac.jp> (raw)
In-Reply-To: <5BF9D3EF-54F8-4386-BAF5-B7BCB510E4C1@gmail.com>
>>>>> On Tue, 17 Feb 2009 12:26:08 +0200, Adrian Robert <adrian.b.robert@gmail.com> said:
> At the time I was writing the NS backend (fall 2006) -- with only
> Handa-san's X impl and emacs's previous font-handling architecture
> to go by -- it wasn't clear to me that although some of these
> properties ("OpenType features" and "name") were not important for
> all back- ends, there were other "extra" properties, such as
> ":script" and friends, that were.
(snip)
> The only other impl was the X one, and it was difficult to separate
> out from the code what was X-specific, and what was generally
> applicable for all backends. At the time I understood that emacs
> handled multiple scripts through explictly-defined fontsets.
> script- representative-chars was there, but didn't seem to be used
> for anything, and most of the X code seemed centered around
> low-level font glyph encoding schemes like the "'japanese-jisx0208"
> and "chinese-gb2312" that you use in your example, rather than
> scripts. NS does not expose font glyph encoding schemes to the
> developer.
You seem to miss ftfont.c. It has existed since June 2006, and
script-representative-chars has been used to handle the :script
property since its first version.
http://cvs.savannah.gnu.org/viewvc/emacs/src/ftfont.c?revision=1.1.2.1&root=emacs&sortby=date&view=markup
>> In general, you should consider/propose platform-independent ways
>> of solving problems/adding features rather than doing that by
>> adding platform-specific kludges, unless they are inherently
>> platform-specific matters. Such kludges might be acceptable for
>> unofficial distributions, but not for the official Emacs
>> distribution,
> I agree that platform-independent is better. However I did not have
> enough knowledge at the time of what Handa-san's full plans were, of
> how X fonts worked in Xft/Freetype, nor whether what I did under NS
> was possible under X. Nonetheless adding it was valuable because
> (a) it allowed users on one platform to benefit from automatically-
> generated fontsets, and (b) it COULD have inspired people who ARE
> familiar with other platforms to try implementing something like it
> themselves.
If I'm not familiar with a particular field, I'd rather follow the
implementations of other platforms than making my own way. At least,
I would ask experts if my own way is appropriate.
> Allowing for some innovation around the edges on different platforms
> can help drive the entire application forward on all systems.
> Disallowing it, you have a situation where no one tries any new
> features, because they cannot themselves do them for all platforms.
> For example, the font backend system itself was started only on X.
> That brought some new functionality, but it also "caught X up" to
> functionality that had already been innovated on other platforms,
> such as antialiasing.
I didn't say that you should just follow the other platforms. I said,
You should consider/propose platform-independent ways of solving
problems/adding features rather than doing that by adding
platform-specific kludges, unless they are inherently
platform-specific matters
Note that I also mentioned "adding features".
Also you are underestimating the new font backend: it is no doubt an
attempt to provide platform-independent way of enhanced font handling,
not just for X11 to "catch up" some other platforms.
> Anyway, I appreciate your recent criticism which has been helpful in
> improving the port, but it would be even nicer if you would help out
> with the code. ;-) Together we could make it better and hopefully
> satisfying all of your standards as well as mine and most
> importantly the needs of users.
> You have expressed reservations because you feel the port tries to
> do things in a different way from the rest of emacs, but that is not
> really accurate. It would be counterproductive. As I've said
> before, the port aims for clean, clear code taking into account both
> other ports' approaches and the fact that Cocoa is an OO API. It's
> not always going to fit as well as Carbon or X, but it has been
> improving.
Could you give some concrete examples of the "improvement" by the use
of OO in the Cocoa/GNUstep port? And if you read the code of my
Carbon+AppKit port, you will notice the difference is not in OO vs.
non-OO.
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
next prev parent reply other threads:[~2009-02-17 11:09 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-07 1:15 fail on osx between 2/4/2009 and 2/5/2009 Randal L. Schwartz
2009-02-07 5:02 ` Will Farrington
2009-02-07 10:46 ` Adrian Robert
2009-02-09 2:52 ` Will Farrington
2009-02-10 6:42 ` Kenichi Handa
2009-02-10 6:47 ` Will Farrington
2009-02-10 8:08 ` Jules Colding
2009-02-10 8:44 ` YAMAMOTO Mitsuharu
2009-02-10 9:05 ` Jules Colding
2009-02-10 10:51 ` YAMAMOTO Mitsuharu
2009-02-10 12:06 ` Kenichi Handa
2009-02-10 13:06 ` Jason Rumney
2009-02-12 7:37 ` Kenichi Handa
2009-02-12 8:03 ` YAMAMOTO Mitsuharu
2009-02-12 10:22 ` Kenichi Handa
2009-02-12 18:42 ` Adrian Robert
2009-02-14 13:03 ` Kenichi Handa
2009-02-15 16:04 ` Adrian Robert
2009-02-16 0:53 ` Kenichi Handa
2009-02-16 4:09 ` Kenichi Handa
2009-02-17 10:15 ` Adrian Robert
2009-02-17 11:15 ` Kenichi Handa
2009-02-18 2:48 ` Kenichi Handa
2009-02-18 3:12 ` YAMAMOTO Mitsuharu
2009-02-18 4:01 ` Kenichi Handa
2009-02-18 5:43 ` YAMAMOTO Mitsuharu
2009-02-19 10:30 ` Adrian Robert
2009-02-24 2:55 ` Kenichi Handa
2009-02-16 0:33 ` YAMAMOTO Mitsuharu
2009-02-17 10:26 ` Adrian Robert
2009-02-17 11:09 ` YAMAMOTO Mitsuharu [this message]
2009-02-19 10:30 ` Adrian Robert
2009-02-20 1:19 ` YAMAMOTO Mitsuharu
2009-02-11 1:08 ` YAMAMOTO Mitsuharu
2009-02-10 12:59 ` William Xu
2009-02-09 14:39 ` William Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=wltz6twc9j.wl%mituharu@math.s.chiba-u.ac.jp \
--to=mituharu@math.s.chiba-u.ac.jp \
--cc=adrian.b.robert@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=handa@m17n.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).