emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Alan Schmitt <alan.schmitt@polytechnique.org>
To: ian@manor-farm.org
Cc: "emacs-orgmode@gnu.org mode" <emacs-orgmode@gnu.org>
Subject: Re: Using Variable Width Fonts for org-mode and Fixed Width forTabless
Date: Fri, 27 Sep 2013 09:19:49 +0200	[thread overview]
Message-ID: <m2fvsqenoq.fsf@polytechnique.org> (raw)
In-Reply-To: <52443BF4.5070609@wilkesley.net>

Hi Ian,

lists@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	other threads:[~2013-09-27  7:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-26 13:51 Using Variable Width Fonts for org-mode and Fixed Width for Tables Ian Barton
2013-09-27  7:19 ` Alan Schmitt [this message]
2013-10-02  8:28   ` Using Variable Width Fonts for org-mode and Fixed Width forTabless Ian Barton
2013-10-02  9:10     ` Using Variable Width Fonts for org-mode and Fixed WidthforTablesss Alan Schmitt
2013-10-02 10:34       ` Ian Barton

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.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2fvsqenoq.fsf@polytechnique.org \
    --to=alan.schmitt@polytechnique.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=ian@manor-farm.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/org-mode.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).