unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Subject: Re: ATSUI support on Carbon Emacs
Date: Wed, 26 Apr 2006 18:13:13 +0900	[thread overview]
Message-ID: <wly7xszoly.wl%mituharu@math.s.chiba-u.ac.jp> (raw)
In-Reply-To: <wl4q2459la.wl%mituharu@math.s.chiba-u.ac.jp>

Because there's no objection about the patch in
http://lists.gnu.org/archive/html/emacs-devel/2006-04/msg00901.html so
far, I'm going to enable ATSUI support at last.  Here's my plan:

  * Enable ATSUI support in Mac OS X 10.2+ by default.
    It is really slow on Mac OS X 10.1.  We don't have to worry about
    binary compatibility because Emacs built on 10.1 does not run on
    10.2+ and vice versa due to the difference about termcap/ncurses.

  * Set the default value of `mac-allow-anti-aliasing' to t for
    ATSUI-enabled environments.
    Then it can benefit from bypassing ATSUI drawing in favor of
    low-level Quartz 2D text drawing on 10.3+ for ASCII and Latin-1.

  * Update macos.texi (as below).

  * Maybe reconsider the name `mac-allow-anti-aliasing'.
    As the updated manual below says, its name is a bit different from
    what it does.  I think this is the last chance before pretesting
    if we are going to change the name.  Emacs.app for GNUstep/Cocoa
    uses `ns-use-qd-smoothing' for similar functionality.  Any ideas?

As I said in my previous post, enabling ATSUI support also activates
Quartz 2D drawing for most of drawing operations (now including
images, but this is not what I mentioned as `full alpha channel' in
http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg00881.html),
though that does not change anything in appearance.

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp

Index: man/macos.texi
===================================================================
RCS file: /cvsroot/emacs/emacs/man/macos.texi,v
retrieving revision 1.28
diff -c -r1.28 macos.texi
*** man/macos.texi	9 Apr 2006 22:40:34 -0000	1.28
--- man/macos.texi	26 Apr 2006 08:26:21 -0000
***************
*** 104,116 ****
  @code{mac-roman}, @code{mac-centraleurroman}, and @code{mac-cyrillic}
  are used to represent these Mac encodings.
  
-   The fontset @code{fontset-standard} is created automatically when
- Emacs is run on Mac, and used by default.  It displays as many kinds
- of characters as possible using 12-point Monaco as a base font.  If
- you see some character as a hollow box with this fontset, then it's
- almost impossible to display it only by customizing font settings
- (@pxref{Mac Font Specs}).
- 
    You can use input methods provided either by LEIM (@pxref{Input
  Methods}) or Mac OS to enter international characters.  To use the
  former, see the International Character Set Support section of the
--- 104,109 ----
***************
*** 195,201 ****
    Command line arguments are specified like
  
  @example
! /Applications/Emacs.app/Contents/MacOS/Emacs -geometry 80x25 &
  @end example
  
  @noindent
--- 188,194 ----
    Command line arguments are specified like
  
  @example
! /Applications/Emacs.app/Contents/MacOS/Emacs -g 80x25 &
  @end example
  
  @noindent
***************
*** 295,301 ****
  Courier by customizing the default face attributes for all frames:
  
  @lisp
! (set-face-attribute 'default nil :family "courier" :height 140)
  @end lisp
  
  @noindent
--- 288,295 ----
  Courier by customizing the default face attributes for all frames:
  
  @lisp
! (set-face-attribute 'default nil
!                     :family "courier" :height 140)
  @end lisp
  
  @noindent
***************
*** 313,333 ****
  @noindent
  @xref{Font X}.  Wildcards are supported as they are on X.
  
!   Native Apple fonts in Mac Roman encoding has maker name @code{apple}
! and charset @code{mac-roman}.  For example 12-point Monaco can be
! specified by the name @samp{-apple-monaco-*-12-*-mac-roman}.  When
! using a particular size of scalable fonts, it must be specified in a
! format containing 14 @samp{-}s like
! @samp{-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman}.
! 
!   You can specify a @code{mac-roman} font for @acronym{ASCII}
! characters like
  
! @lisp
  (add-to-list
   'default-frame-alist
   '(font . "-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman"))
! @end lisp
  
  @noindent
  but that does not extend to ISO-8859-1: specifying a @code{mac-roman}
--- 307,336 ----
  @noindent
  @xref{Font X}.  Wildcards are supported as they are on X.
  
!   Emacs on Mac OS X 10.1 or former uses QuickDraw Text routines for
! drawing texts.  Emacs on Mac OS X 10.2 or later additionally uses
! @acronym{ATSUI, Apple Type Services for Unicode Imaging}, and most of
! the characters other than Chinese, Japanese, or Korean ones are drawn
! using the latter by default.
! 
!   @acronym{ATSUI}-compatible fonts have maker name @code{apple} and
! charset @code{iso10646-1}.  For example 12-point Monaco can be specified
! by the name
! @samp{-apple-monaco-medium-r-normal--12-*-*-*-*-*-iso10646-1}.  Note
! that it must be specified in a format containing 14 @samp{-}s (i.e., not
! by @samp{-apple-monaco-medium-r-normal-12-*-iso10646-1}) because every
! @acronym{ATSUI}-compatible font is a scalable one.
! 
!   QuickDraw Text fonts have maker name @code{apple} and various charset
! names other than @code{iso10646-1}.  Native Apple fonts in Mac Roman
! encoding has charset @code{mac-roman}.  You can specify a
! @code{mac-roman} font for @acronym{ASCII} characters like
  
! @smalllisp
  (add-to-list
   'default-frame-alist
   '(font . "-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman"))
! @end smalllisp
  
  @noindent
  but that does not extend to ISO-8859-1: specifying a @code{mac-roman}
***************
*** 341,356 ****
  @samp{mac-cyrillic}, @samp{mac-symbol}, and @samp{mac-dingbats},
  respectively.
  
-   Since Emacs as of the current version uses QuickDraw Text routines
- for drawing texts, only characters in the charsets listed above can be
- displayed with the OS-bundled fonts, even if other applications that
- use @acronym{ATSUI} or Cocoa can display variety of characters with
- them.
- 
    The use of @code{create-fontset-from-fontset-spec} (@pxref{Defining
! Fontsets}) for defining fontsets often results in wrong ones
! especially when using only OS-bundled fonts.  The recommended way is
! to create a fontset using @code{create-fontset-from-mac-roman-font}:
  
  @lisp
  (create-fontset-from-mac-roman-font
--- 344,354 ----
  @samp{mac-cyrillic}, @samp{mac-symbol}, and @samp{mac-dingbats},
  respectively.
  
    The use of @code{create-fontset-from-fontset-spec} (@pxref{Defining
! Fontsets}) for defining fontsets often results in wrong ones especially
! when using only OS-bundled QuickDraw Text fonts.  The recommended way to
! use them is to create a fontset using
! @code{create-fontset-from-mac-roman-font}:
  
  @lisp
  (create-fontset-from-mac-roman-font
***************
*** 374,384 ****
  the name @samp{-ETL-fixed-*-iso8859-1}.
  
  @vindex mac-allow-anti-aliasing
!   Emacs uses the QuickDraw text rendering by default.  On Mac OS X
! 10.2 and later, it can be changed so that it uses the Quartz 2D text
! rendering (aka CG text rendering) by setting
! @code{mac-allow-anti-aliasing} to @code{t}.  However, it is reported
! to sometimes leave some garbages.
  
  @node Mac Functions
  @section Mac-Specific Lisp Functions
--- 372,384 ----
  the name @samp{-ETL-fixed-*-iso8859-1}.
  
  @vindex mac-allow-anti-aliasing
!   Mac OS X 10.2 or later can use two types of text renderings: Quartz 2D
! (aka Core Graphics) and QuickDraw.  By default, Emacs uses the former if
! @acronym{ATSUI} is available and the latter otherwise.  It can be
! changed by setting @code{mac-allow-anti-aliasing} to @code{t} (Quartz
! 2D) or @code{nil} (QuickDraw).  Both @acronym{ATSUI} and QuickDraw Text
! drawings are affected by the value of this variable.
! 
  
  @node Mac Functions
  @section Mac-Specific Lisp Functions

  reply	other threads:[~2006-04-26  9:13 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-01 11:28 ATSUI support on Carbon Emacs YAMAMOTO Mitsuharu
2005-10-06  8:20 ` YAMAMOTO Mitsuharu
2005-10-06 10:55   ` Kim F. Storm
2005-10-07  8:07     ` YAMAMOTO Mitsuharu
2005-10-07 14:02       ` Romain Francoise
2005-10-07 21:47         ` Kim F. Storm
2005-10-08  2:41           ` YAMAMOTO Mitsuharu
2005-10-09 13:18           ` Romain Francoise
2005-10-11 14:26 ` David Reitter
2005-10-12  5:03   ` YAMAMOTO Mitsuharu
2005-10-12  9:24     ` David Reitter
2005-10-13  8:17       ` YAMAMOTO Mitsuharu
2005-11-12  5:52         ` YAMAMOTO Mitsuharu
2005-10-20 12:44 ` Eli Zaretskii
2005-10-21  1:10   ` YAMAMOTO Mitsuharu
2005-10-21  9:32     ` Eli Zaretskii
2005-10-21  9:58       ` YAMAMOTO Mitsuharu
2005-10-21 14:45         ` Eli Zaretskii
2005-10-24  1:05           ` YAMAMOTO Mitsuharu
2005-10-24  9:37             ` Eli Zaretskii
2005-10-25  0:00 ` Sébastien Kirche
2005-10-25  8:19   ` YAMAMOTO Mitsuharu
2005-10-25 18:57     ` Sébastien Kirche
2005-10-25 21:00       ` Sébastien Kirche
2005-10-27  1:36         ` YAMAMOTO Mitsuharu
2005-10-27 16:44           ` Sébastien Kirche
2005-10-28 10:35             ` YAMAMOTO Mitsuharu
2005-10-29  1:11               ` Sébastien Kirche
2006-03-12  8:52 ` YAMAMOTO Mitsuharu
2006-04-26  9:13   ` YAMAMOTO Mitsuharu [this message]
2006-04-26  9:50     ` YAMAMOTO Mitsuharu
2006-05-01  1:34     ` YAMAMOTO Mitsuharu

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=wly7xszoly.wl%mituharu@math.s.chiba-u.ac.jp \
    --to=mituharu@math.s.chiba-u.ac.jp \
    /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).