[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ATSUI support on Carbon Emacs
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: ATSUI support on Carbon Emacs |
Date: |
Wed, 26 Apr 2006 18:13:13 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/22.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
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
address@hidden
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
- Re: ATSUI support on Carbon Emacs,
YAMAMOTO Mitsuharu <=