Subject: bug#15514: 24.3.50; Re: Issue with fonts on macosx

From: Markus Pahlow <[email-masked]>
Date: Wed, 2 Oct 2013 08:56:09 +0200

After the Mac port font backend was ported to the trunk, there appeared a new display problem with LaTeX files on macosx.  When I open a file in latex
mode and enter $x_0^0$, both 0s are shown in superscript position, whereasthe first 0 should be in subscript position.  Also, when using AUCTeX, all
the section, subsection, etc. arguments are shown in subscript position.  A recipe to reproduce the problem from emacs -Q: open a file "test.tex" and enter $x_0^0$.
When I comment out these lines (starting on line 1178) in nsfns.m:
#ifdef NS_IMPL_COCOA
#if MAC_OS_X_VERSION_MAX_ALLOWED >=3D MAC_OS_X_VERSION_10_5
if (CTGetCoreTextVersion !=3D NULL
     && CTGetCoreTextVersion () >=3D kCTVersionNumber10_5)
   mac_register_font_driver (f);
#endif
#endif
and recompile, the LaTeX code is displayed correctly again.  Can you reproduce this problem?  I use clang version 500.2.75 from xcode 5 and osx 10.8.5.  I don't know what the above code does, but I hope it helps finding the cause of the problem.
I was advised by Jan Djärv that setting the font-backend frame parameter to "ns" also corrects the display problem.
Many thanks.

In GNU Emacs 24.3.50.1 (i386-apple-darwin12.5.0, NS apple-appkit-1187.39)
of 2013-09-25 on hui.geomar.de
Windowing system distributor `Apple', version 10.3.1187
Configured using:
`configure --with-ns CFLAGS=3D-O4 CC=3Dclang 'CPP=3Dclang -E''

Important settings:
  value of $LC_CTYPE: en_GB.UTF-8
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  global-rainbow-delimiters-mode: t
  rainbow-delimiters-mode: t
  tabbar-mwheel-mode: t
  tabbar-mode: t
  shell-dirtrack-mode: t
  show-paren-mode: t
  recentf-mode: t
  global-hl-line-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  diff-auto-refine-mode: t
  savehist-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent input:
<escape> x r e p o <tab> r <tab> <return>

Recent messages:
Loading delsel...done
Loading autorevert...done
Loading hl-line...done
Loading recentf...done
Loading paren...done
Loading /Users/mpahlow/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
Loading /Users/mpahlow/.emacs.d/custom.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...

Load-path shadows:
/Users/mpahlow/.emacs.d/elpa/gnuplot-20130207.101/gnuplot hides /usr/local/=
share/emacs/site-lisp/gnuplot
/Users/mpahlow/.emacs.d/elpa/gnuplot-20130207.101/gnuplot-gui hides /usr/lo=
cal/share/emacs/site-lisp/gnuplot-gui
~/.emacs.d/el-get/el-get/.dir-locals hides /usr/local/src/emacs/nextstep/Em=
acs.app/Contents/Resources/lisp/gnus/.dir-locals

Features:
(shadow sort flyspell ispell mail-extr emacsbug message rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils
sanityinc-solarized-light-theme color-theme-sanityinc-solarized ido
ess-toolbar ess-mouse mouseme browse-url ess-menu ess-swv ess-noweb
ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l
ess-sas-a ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d
ess-sp3-d ess-julia ess-r-d compile ess-tracebug ess-roxy hideshow
ess-help ess-developer ess-r-args eldoc ess-s-l ess ess-inf ess-mode
ess-noweb-mode ess-utils ess-custom executable ess-compat ess-site
auctex-latexmk latex edmacro kmacro tex-style tex-buf tex crm
smartparens-config smartparens thingatpt dash rainbow-delimiters tabbar
exec-path-from-shell auctex-latexmk-autoloads
exec-path-from-shell-autoloads f90-interface-browser-autoloads
gnuplot-autoloads tabbar-autoloads package saveplace tramp-cache
tramp-sh tramp tramp-compat auth-source gnus-util mm-util mail-prsvr
password-cache tramp-loaddefs cl-macs trampver shell pcomplete comint
ansi-color format-spec paren recentf tree-widget hl-line autorevert
filenotify delsel cus-start cus-load warnings server srecode/srt-mode
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/format srecode/template srecode/srt-wy semantic/wisent
semantic/wisent/wisent semantic/ctxt srecode/ctxt semantic/tag-ls
semantic/find srecode/compile srecode/dictionary srecode/table
srecode/map srecode semanticdb-matlab semantic/db semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
eieio-opt help-mode find-func cedet-matlab psvn advice help-fns cl
log-edit ring pcvs-util add-log diff-mode easy-mmode matlab-load
preview-latex tex-site auto-loads ede/speedbar ede/files ede ede/base gv
ede/auto ede/source eieio-base eieio-speedbar speedbar sb-image ezimage
dframe easymenu eieio-custom wid-edit cl-loaddefs cl-lib eieio byte-opt
bytecomp byte-compile cconv eieio-core cedet savehist time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process ns
multi-tty emacs)