Hi Ian,

li...@wilkesley.net writes:

> I am struggling to get this to work. In my init files I have:
>
> (set-default-font "DejaVu Serif Italic")
>
> I have followed the advice on StackOverflow 
> http://stackoverflow.com/questions/3758139/variable-pitch-for-org-mode-fixed-pitch-for-tables
>  
> and customized my Init file to include:
>
> (set-face-attribute 'org-table nil :inherit 'fixed-pitch)
>
> However, table formatting is still screwed up. C-u C-x = shows
>
>      xft:-unknown-IM FELL DW 
> Pica-normal-italic-normal-*-15-*-*-*-*-0-iso10646-1 (#x29)
>
> Character code properties: customize what to show
>    name: LATIN CAPITAL LETTER F
>    general-category: Lu (Letter, Uppercase)
>    decomposition: (70) ('F')
>
> There are text properties here:
>    face                 org-table
>    fontified            t
>    line-prefix          [Show]
>    wrap-prefix          [Show]
>
> I have tried setting the font for org-table using Emacs Customize 
> Interface, but without any success. Ideally I want tables to use a 
> monospace font like Inconsolata or DejaVu mono. Can anyone provide an 
> example of how to set org-table to use a specified fixed width font.

I've played a little with this, and here is what I have (straight from
my config file).

First, I set up the font for variable pitch, and I tell emacs to use it
for text modes.

** setup
#+BEGIN_SRC emacs-lisp
  (set-face-attribute 'variable-pitch nil :family "Ubuntu")
  (set-face-attribute 'variable-pitch nil :height 140)
  
  (add-hook 'text-mode-hook 'variable-pitch-mode)
#+END_SRC

Then I set up exceptions for some faces in some modes. I have exceptions
for info, mu4e, and org mode. Here are the ones for org mode.

** org
from 
http://yoo2080.wordpress.com/2013/05/30/monospace-font-in-tables-and-source-code-blocks-in-org-mode-proportional-font-in-other-parts/

#+BEGIN_SRC emacs-lisp
  (defun my-adjoin-to-list-or-symbol (element list-or-symbol)
    (let ((list (if (not (listp list-or-symbol))
                    (list list-or-symbol)
                  list-or-symbol)))
      (require 'cl-lib)
      (cl-adjoin element list)))
  
  (mapc
   (lambda (face)
     (set-face-attribute
      face nil
      :inherit
      (my-adjoin-to-list-or-symbol
       'fixed-pitch
       (face-attribute face :inherit))))
   (list 'org-code 'org-block 'org-table 'org-block-background 'org-date 
'org-link 'org-footnote))
#+END_SRC

What this says is: use fixed-pitch for the faces in the list at the
end. I have to include dates, links, and footnotes because I use them in
tables and I don't know how to conditionally change a face (i.e., use
fixed-pitch for links in tables but not for links in other places).

Hopefully this will work for you.

Alan

Reply via email to