From: "Juan Manuel Macías" <maciaschain@posteo.net>
To: Stefan Nobis <stefan-ml@snobis.de>
Cc: orgmode <emacs-orgmode@gnu.org>, Timothy <tecosaur@gmail.com>,
Ihor Radchenko <yantar92@gmail.com>,
Maxim Nikulin <manikulin@gmail.com>
Subject: Re: fontsets
Date: Tue, 12 Jul 2022 11:37:34 +0000 [thread overview]
Message-ID: <87lesysgsh.fsf@posteo.net> (raw)
In-Reply-To: <m17d4i6bzx.fsf@nobis-it.eu> (Stefan Nobis's message of "Tue, 12 Jul 2022 09:12:02 +0200")
Stefan Nobis writes:
> Hmmm... maybe add optional extra config/output option to the fontset,
> like so:
>
> ┌────
> │ ;; Fonts
> │ ((myfonta . ((pdflatex . "etc.") (lualatex ...) (html ...) ...))
> │ (myfontb ...)
> │ ...)
> │ ;; Fontsets
> │ ((myfontset .
> │ ((sans . myfonta)
> │ (serif . myfontb)
> │ (mono . myfontc)
> │ (extra . ((lualatex . "\\defaultfontfeatures{Scale=MatchLowercase}")
> │ (html "some CSS...")...))
> │ ...))
> │ ...)
> └────
>
> This way it may be possible to build a fontset library of fonts that
> blend well together, including some necessary fine-tuning.
I think it's a good idea. And I definitely like Timothy's idea of
fontsets, but I still think that LuaLaTeX and XelaTeX should be unified
in some way.
Perhaps one or two default fontsets could be added.
It was commented in some previous message about the possibility of
checking if a font is present in the system. To add some extra
information, TeX live 2022 includes a lua script, luafindfont, which
runs luaotfload in the background. It is very useful because, in
addition to system fonts, it also returns results from TeX live fonts. I
use this script via helm, and I wrote this to extract a list of
candidates:
#+begin_src emacs-lisp
(defun build-luafindfont-candidates-list (candidate)
(interactive)
(let* ((query (shell-command-to-string (concat "luafindfont " candidate)))
(str (with-temp-buffer
(insert query)
(goto-char (point-min))
(let ((from
(save-excursion
(re-search-forward "1\\." nil t)
(beginning-of-line)
(point)))
(to
(save-excursion
(goto-char (point-max))
(point))))
(save-restriction
(narrow-to-region from to)
(buffer-string)))))
(str-clean (split-string
(with-temp-buffer
(insert str)
(replace "[[:digit:]]+\\.\s+" "")
(replace "\\(.+\\)\\(\\.otf\\|\\.ttf\\)\s+" "")
(replace "\s+" " -- ")
(buffer-string)) "\n" t)))
(setq luafindfont-list (mapcar 'identity
str-clean))))
#+end_src
On the other hand, fontspec includes the \IfFontExistsTF command.
According to the fontspec documentation:
------
\IfFontExistsTF{⟨font name⟩}{⟨true branch⟩}{⟨false branch⟩}
The conditional \IfFontExistsTF is provided to test whether the ⟨font name⟩ exists or
is loadable. If it is, the ⟨true branch⟩ code is executed; otherwise, the ⟨false branch⟩ code is.
This command can be slow since the engine may resort to scanning the filesystem for a
missing font. Nonetheless, it has been a popular request for users who wish to define ‘fallback
fonts’ for their documents for greater portability.
In this command, the syntax for the ⟨font name⟩ is a restricted/simplified version of the
font loading syntax used for \fontspec and so on. Fonts to be loaded by filename are detected
by the presence of an appropriate extension (.otf, etc.), and paths should be included inline.
E.g.:
\IfFontExistsTF{cmr10}{T}{F}
\IfFontExistsTF{Times New Roman}{T}{F}
\IfFontExistsTF{texgyrepagella-regular.otf}{T}{F}
\IfFontExistsTF{/Users/will/Library/Fonts/CODE2000.TTF}{T}{F}
-------
Best regards,
Juan Manuel
next prev parent reply other threads:[~2022-07-12 11:39 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-08 12:17 LaTeX export: when is it more useful to use LuaTeX instead of pdfTeX? Juan Manuel Macías
2022-07-08 15:49 ` Uwe Brauer
2022-07-08 16:46 ` Juan Manuel Macías
2022-07-08 15:54 ` Greg Minshall
2022-07-08 16:13 ` Thomas S. Dye
2022-07-08 17:27 ` Bruce D'Arcus
2022-07-08 19:03 ` Juan Manuel Macías
2022-07-08 18:49 ` Thomas S. Dye
2022-07-09 2:23 ` Max Nikulin
2022-07-09 3:23 ` Thomas S. Dye
2022-07-09 11:10 ` Juan Manuel Macías
2022-07-09 3:24 ` Tim Cross
2022-07-09 3:50 ` Ihor Radchenko
2022-07-09 4:10 ` Tim Cross
2022-07-09 5:35 ` Dominik Schrempf
2022-07-09 6:31 ` Max Nikulin
2022-07-09 9:59 ` Juan Manuel Macías
2022-07-09 23:49 ` Tim Cross
2022-07-10 11:19 ` M-x org-create-worg-article command? (was: LaTeX export: when is it more useful to use LuaTeX instead of pdfTeX?) Ihor Radchenko
2022-07-10 19:06 ` Tim Cross
2022-07-11 2:09 ` Ihor Radchenko
2022-07-11 2:49 ` Tim Cross
2022-07-11 3:18 ` Ihor Radchenko
2022-07-11 4:00 ` Tim Cross
2022-07-11 4:20 ` Ihor Radchenko
2022-07-10 19:31 ` LaTeX export: when is it more useful to use LuaTeX instead of pdfTeX? Juan Manuel Macías
2022-07-09 10:42 ` Juan Manuel Macías
2022-07-09 12:15 ` Max Nikulin
2022-07-09 14:58 ` Juan Manuel Macías
[not found] ` <b58ee3cc-c58c-b627-9cc5-51993020db2c@gmail.com>
2022-07-09 20:22 ` Juan Manuel Macías
2022-07-10 20:23 ` [possible patch] Basic fontspec code for LuaLaTeX and XelaTeX (was "LaTeX export: when is it more useful...") Juan Manuel Macías
2022-07-10 20:31 ` Juan Manuel Macías
2022-07-10 20:58 ` Tim Cross
2022-07-11 13:34 ` Juan Manuel Macías
2022-07-11 2:19 ` Ihor Radchenko
2022-07-11 7:50 ` Stefan Nobis
2022-07-11 14:19 ` Timothy
2022-07-11 15:00 ` Juan Manuel Macías
2022-07-11 17:45 ` fontsets (was: [possible patch] Basic fontspec code for LuaLaTeX and XelaTeX (was "LaTeX export: when is it more useful...")) Timothy
2022-07-11 22:09 ` fontsets Juan Manuel Macías
2022-07-12 7:12 ` fontsets Stefan Nobis
2022-07-12 11:37 ` Juan Manuel Macías [this message]
2022-07-12 15:26 ` Fallback fonts in LuaTeX via 'luaotfload.add_fallback' (was "Fontsets") Juan Manuel Macías
2022-07-15 14:35 ` Max Nikulin
2022-07-11 3:59 ` [possible patch] Basic fontspec code for LuaLaTeX and XelaTeX (was "LaTeX export: when is it more useful...") Greg Minshall
2022-07-11 8:05 ` Stefan Nobis
2022-07-11 11:39 ` Juan Manuel Macías
2022-07-11 12:04 ` Juan Manuel Macías
2022-07-11 12:31 ` Max Nikulin
2022-07-11 14:23 ` Juan Manuel Macías
2022-07-11 17:20 ` Max Nikulin
2022-07-16 3:01 ` Max Nikulin
2022-07-11 17:08 ` LaTeX export: when is it more useful to use LuaTeX instead of pdfTeX? Max Nikulin
2022-07-10 2:12 ` Max Nikulin
2022-07-09 0:34 ` Matt Huszagh
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=87lesysgsh.fsf@posteo.net \
--to=maciaschain@posteo.net \
--cc=emacs-orgmode@gnu.org \
--cc=manikulin@gmail.com \
--cc=stefan-ml@snobis.de \
--cc=tecosaur@gmail.com \
--cc=yantar92@gmail.com \
/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).