WEBVTT

NOTE
#+YOUTUBE_URL: https://youtube.com/live/aEnacESU-DU
#+LANGUAGE: en
Opening


00:00:00.031 --> 00:00:03.528
[Sacha]: But first, I will press the go live

00:00:03.568 --> 00:00:05.738
button because this time I'm going to remember.

00:00:09.042 --> 00:00:13.068
Okay, now I think we are live.

00:00:13.829 --> 00:00:17.014
Welcome to Emacs Chat 31.

00:00:17.034 --> 00:00:20.840
Today we have Pedro Aranda Gutierrez, who is here

00:00:20.900 --> 00:00:23.212
to talk about all the cool things

00:00:23.213 --> 00:00:24.706
with Org LaTeX Export.

00:00:25.527 --> 00:00:28.612
And Prot is here also because he knows a lot more

00:00:28.652 --> 00:00:30.795
about fonts and writing in multiple languages and

00:00:30.815 --> 00:00:31.356
all that stuff.

00:00:31.376 --> 00:00:33.559
So I'm counting on Prot to ask questions when my

00:00:33.579 --> 00:00:37.345
mind just goes like, ooh, cool demo.

00:00:37.848 --> 00:00:42.934
[Pedro]: Hello, here we are.

00:00:44.256 --> 00:00:49.803
So yes, I wanted to talk about what is news for all.

00:00:50.544 --> 00:00:55.269
At least this part, the integration of the basic

00:00:55.309 --> 00:01:01.937
font management with lualatex is in main

00:01:01.938 --> 00:01:03.079
right now in Org Mode.

00:01:04.358 --> 00:01:05.239
[Prot]: Very well, very well.

00:01:05.259 --> 00:01:10.968
[Pedro]: I was not expecting that to happen,

00:01:10.969 --> 00:01:13.072
but it happened.

00:01:13.092 --> 00:01:14.194
So that's the situation.

00:01:14.755 --> 00:01:20.004
And I would just like to go stepwise on what you

00:01:20.044 --> 00:01:22.468
have to do, what you can do, what you can't do

00:01:23.289 --> 00:01:24.932
with these things.

NOTE Setting things up

00:01:24.912 --> 00:01:30.099
This is my Emacs 31 compiled a couple of days

00:01:30.139 --> 00:01:31.821
ago and I'm on devel.

00:01:32.081 --> 00:01:37.167
I'm on main here, on main for Org mode.

00:01:38.549 --> 00:01:42.054
I have a small Org file here which initially

00:01:42.154 --> 00:01:44.777
I'm going to be using pdflatex to compile,

00:01:46.073 --> 00:01:49.218
with a trick: I'm not compiling in the background,

00:01:49.279 --> 00:01:53.165
but I have a script here in the terminal to have

00:01:53.205 --> 00:01:57.413
a bit more of feedback or direct feedback of what

00:01:57.493 --> 00:01:58.054
is happening.

00:01:59.296 --> 00:02:02.901
If we go through this...

00:02:02.902 --> 00:02:07.550
I mean this is basically my template

00:02:07.830 --> 00:02:09.854
to start any article. It's going to be an

00:02:09.954 --> 00:02:10.495
article.

00:02:12.533 --> 00:02:14.296
we are going to use pdflatex.

00:02:15.358 --> 00:02:21.770
And the other thing is I have a very small thing

00:02:21.891 --> 00:02:24.596
with the default font.

00:02:24.676 --> 00:02:27.100
Then I have also the Sans Serif font.

00:02:27.701 --> 00:02:32.871
I also have some monospaced fonts with it.

NOTE
Local variables
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-03-16-167.jpg
#+SCREENSHOT_TIME: 00:03:16.167

00:02:33.222 --> 00:02:35.404
The things that I have here that might be

00:02:35.444 --> 00:02:37.867
interesting for people is that another thing that

00:02:37.967 --> 00:02:41.911
is quite recent for Emacs is that we are starting

00:02:41.971 --> 00:02:49.339
to have a lot of the configuration variables as

00:02:49.459 --> 00:02:50.420
local variables.

00:02:50.440 --> 00:02:53.723
So you don't have to go and get in

00:02:53.724 --> 00:02:57.508
your init's .el to have anything configured.

00:02:57.725 --> 00:02:58.547
Why?

00:02:58.567 --> 00:03:02.474
This is another sort of fight against the

00:03:02.654 --> 00:03:03.696
windmills I've had.

00:03:04.618 --> 00:03:04.879
Why?

00:03:05.099 --> 00:03:09.287
Because with this I can make my Org files more

00:03:09.327 --> 00:03:11.251
distributable, so I can share them with more

00:03:11.291 --> 00:03:13.936
people and they don't have to touch anything in

00:03:13.996 --> 00:03:15.138
their configurations.

00:03:16.160 --> 00:03:18.805
That's the basic idea.

00:03:19.392 --> 00:03:22.795
Small little trick that I have is that I'm using

00:03:22.875 --> 00:03:26.258
fancyvrb for everything instead of listings.

00:03:27.139 --> 00:03:31.163
And there was somewhere in the documentation, you

00:03:31.183 --> 00:03:35.046
also have an explanation for how to use fancyvrb

00:03:35.507 --> 00:03:38.469
to substitute listings and get nice listings in

00:03:38.529 --> 00:03:45.796
your LaTeX exported by Org.

00:03:45.816 --> 00:03:49.399
And that's the only thing.

00:03:49.379 --> 00:03:51.663
Initially, pdflatex,

00:03:51.763 --> 00:03:52.844
Everything is plain.

00:03:53.726 --> 00:03:56.830
If I go and just go and export...

NOTE
Mini export menu
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-03-57-700.jpg
#+SCREENSHOT_TIME: 00:03:57.700

00:03:56.831 --> 00:04:02.158
This is a mini export menu I have myself

00:04:02.159 --> 00:04:02.920
because I think it's

00:04:03.461 --> 00:04:09.350
much more handy than the export thing that we

00:04:09.410 --> 00:04:10.092
have in Org Mode.

00:04:10.112 --> 00:04:12.315
So I did a small one for me.

00:04:12.295 --> 00:04:17.280
And so I'm exporting to LaTeX and there you see the...

NOTE Basic output with different fonts

00:04:17.281 --> 00:04:19.784
This was quick, of course, but what you

00:04:19.803 --> 00:04:25.311
see is I have my serif, my sans serif, and I have

00:04:25.431 --> 00:04:30.497
my monofont and that's nice, right?

00:04:30.517 --> 00:04:33.381
So that's one of the things that we always want

00:04:33.421 --> 00:04:33.741
to have.

00:04:34.622 --> 00:04:38.387
Now, the next thing is everything would be nice.

00:04:39.008 --> 00:04:45.759
And now I need my [??], full file where I

00:04:45.799 --> 00:04:47.842
have the rest of the things that I want to copy

00:04:47.882 --> 00:04:49.304
and paste into this presentation.

NOTE Adding a code block as source

00:04:49.865 --> 00:04:56.215
Everything would be nice if I just were to go and

00:04:56.575 --> 00:05:04.253
add a small command to do things, but I'm only going

00:05:04.293 --> 00:05:05.756
to be listing the source.

00:05:06.157 --> 00:05:09.363
So let me just go and check that.

00:05:09.383 --> 00:05:12.689
If I do like this, so I have a small listing.

00:05:13.070 --> 00:05:14.492
Why do I need listings?

00:05:14.593 --> 00:05:17.378
This is partially for my lectures.

00:05:18.480 --> 00:05:22.347
I want to share code with my students and tell them

00:05:23.238 --> 00:05:24.820
how to program, right?

00:05:25.560 --> 00:05:28.724
Or they are in a lab and they need an example of

00:05:28.784 --> 00:05:32.508
a command that they need to achieve a search and

00:05:32.568 --> 00:05:33.849
output in the computer.

00:05:34.790 --> 00:05:38.094
So what I would do, first step, which would

00:05:38.314 --> 00:05:42.318
also work with pdflatex, is I'm going to go and

00:05:42.418 --> 00:05:44.140
export the source.

00:05:44.160 --> 00:05:46.663
If I now go and export the source,

00:05:48.010 --> 00:05:54.297
I got a second compile, and now you see that I

00:05:54.357 --> 00:05:55.422
included the command.

00:05:56.583 --> 00:06:01.571
Nice thing about using fancyvrb here is that as

00:06:01.651 --> 00:06:06.498
I have fancyvrb here configured, I'm using the

00:06:06.578 --> 00:06:09.242
listings stuff, but this is the configuration for

00:06:09.282 --> 00:06:09.863
fancyvrb.

00:06:10.204 --> 00:06:13.629
I can include things like a frame to separate

00:06:13.950 --> 00:06:18.777
code from other things in the document.

NOTE The problem with exporting Unicode

00:06:18.757 --> 00:06:21.700
But now here problems started and this is this

00:06:21.741 --> 00:06:25.225
was practically what happened two years ago when

00:06:25.265 --> 00:06:28.669
someone asked in the list how can I do this and

00:06:28.709 --> 00:06:30.991
the thing is he also wanted to have something

00:06:31.071 --> 00:06:34.195
like I want to export both so I also want to

00:06:34.255 --> 00:06:34.956
export the results.

00:06:37.699 --> 00:06:39.041
Let's see what happens in this case.

00:06:39.341 --> 00:06:41.784
It's the tree command so it will be showing a

00:06:41.844 --> 00:06:44.747
couple of files that I have on my on my system

00:06:45.809 --> 00:06:47.751
and let's see what happens with pdflatex.

00:06:53.198 --> 00:06:58.327
It seems to be working, but then if you go to the

00:06:58.488 --> 00:07:00.852
log, and this is why I have the log here, you

00:07:00.872 --> 00:07:04.078
start seeing a lot of errors.

00:07:06.042 --> 00:07:06.342
Why?

00:07:06.402 --> 00:07:10.249
Because it has records that do not exist.

00:07:10.269 --> 00:07:11.151
[Prot]: Missing characters.

00:07:11.952 --> 00:07:13.656
[Pedro]: Missing characters and things like that.

00:07:13.796 --> 00:07:15.018
So this was the question.

00:07:15.058 --> 00:07:16.641
How can I solve this?

00:07:17.954 --> 00:07:21.740
The obvious answer is pdflatex is not as good

00:07:21.900 --> 00:07:27.208
with UTF-8 extended, so migrate to lualatex.

00:07:30.534 --> 00:07:31.615
That was one of the things.

00:07:32.637 --> 00:07:35.902
But you could actually do it.

00:07:36.122 --> 00:07:42.092
Before going to that, people said, let's go back

00:07:42.152 --> 00:07:43.033
and put source.

NOTE Trying a different font

00:07:45.578 --> 00:07:47.781
You already have the

00:07:47.841 --> 00:07:52.989
different font packages in in pdflatex, so why not

00:07:53.390 --> 00:07:55.433
using one of the font packages that you have, for

00:07:55.493 --> 00:07:58.517
example, the Bera fonts. This Bera font here

00:07:58.557 --> 00:08:01.862
Bera, Bera Sans and Bera Mono should

00:08:02.604 --> 00:08:05.187
allow you to do what you want to do. I checked.

00:08:06.069 --> 00:08:08.793
What I'm doing here is I have

00:08:08.813 --> 00:08:13.560
my local variables.

00:08:14.198 --> 00:08:16.781
I've refreshed my local variables to include

00:08:17.262 --> 00:08:20.024
in the packages, the packages for Bera,

00:08:20.025 --> 00:08:21.767
Bera sans, and Bera mono.

00:08:23.049 --> 00:08:23.950
Let's see what happens.

00:08:24.070 --> 00:08:34.602
If I go just for the source, I get the Bera thing.

00:08:34.643 --> 00:08:38.607
So there should be some sort, I get the Bera font

00:08:38.628 --> 00:08:39.269
integrated.

00:08:40.429 --> 00:08:43.498
So there should be some hope with this.

00:08:43.938 --> 00:08:44.239
Fine.

00:08:44.820 --> 00:08:51.649
So let's go back into doing things with the

00:08:51.889 --> 00:08:52.890
results included.

00:08:56.615 --> 00:08:57.196
Bad luck.

00:08:58.558 --> 00:08:59.879
We continue to have this problem.

00:09:00.260 --> 00:09:02.303
This is inherent to pdflatex.

00:09:04.185 --> 00:09:04.425
Right?

NOTE LuaLaTeX

00:09:05.026 --> 00:09:08.691
So we have to move to lualatex, right?

00:09:12.232 --> 00:09:16.878
And now to be able to do what I'm doing here with

00:09:16.938 --> 00:09:19.921
lualatex and with my script in the background

00:09:19.961 --> 00:09:22.585
to see what is happening, I just need to get out

00:09:23.666 --> 00:09:24.527
and get in again.

00:09:30.574 --> 00:09:34.619
So we were at this point, we had the Bera fonts.

00:09:35.300 --> 00:09:39.866
Let's go to see the Bera fonts just with a source

00:09:40.667 --> 00:09:41.648
on lualatex.

00:09:42.877 --> 00:09:44.881
This is something that some people ask.

00:09:53.256 --> 00:09:55.440
The Bera fonts don't have the mono font.

00:09:56.502 --> 00:09:58.405
So we have to move to something else.

00:10:00.494 --> 00:10:01.756
Fine.

00:10:01.776 --> 00:10:03.658
That's point number one.

00:10:04.379 --> 00:10:06.040
And since that does not work...

00:10:06.041 --> 00:10:08.484
[Prot]: Sans also, right?

00:10:08.504 --> 00:10:10.406
You should have a sans-serif line.

00:10:10.426 --> 00:10:12.869
I didn't see that.

00:10:13.050 --> 00:10:13.790
[Pedro]: Yes. Exactly.

00:10:14.511 --> 00:10:17.735
So the Bera fonts, as some people suggested, do

00:10:17.855 --> 00:10:21.540
not work with lualatex as we want.

00:10:22.820 --> 00:10:27.686
So if this doesn't work and the corresponding is

00:10:27.746 --> 00:10:32.452
not one-to-one, so why not go directly into using

00:10:32.492 --> 00:10:37.638
the full thing with lualatex, right?

NOTE Switching to FreeSerif, FreeSans, and FreeMono

00:10:37.678 --> 00:10:40.762
The first thing I would have to do is I'm going

00:10:40.802 --> 00:10:42.964
to get rid of the Bera fonts here

00:10:42.965 --> 00:10:50.154
in my local variables.

00:10:50.174 --> 00:10:51.055
I put it at the end.

00:10:52.823 --> 00:10:56.528
So now with my local variables like this, I'm

00:10:56.608 --> 00:10:59.511
only going to have packages like enumitem and

00:10:59.591 --> 00:11:00.232
fancyvrb.

00:11:02.675 --> 00:11:07.361
I'm going to be using lualatex and now in a

00:11:07.401 --> 00:11:10.144
very big first thing, what I would have to do is

00:11:10.505 --> 00:11:15.811
to start with my LaTeX header and then start

00:11:15.851 --> 00:11:17.173
with my setmainfont.

00:11:17.573 --> 00:11:19.354
Let's say we use the simple ones,

00:11:19.355 --> 00:11:21.598
the setmainfont

00:11:22.979 --> 00:11:34.092
FreeSerif, FreeSans... As always, the fingers are...

00:11:38.096 --> 00:11:46.025
And here you go with the mono, and with the mono

00:11:46.406 --> 00:11:49.249
right. Let's try this at this point in time.

00:11:49.589 --> 00:11:51.210
What will happen? I'm going to be using

00:11:51.211 --> 00:11:53.908
the free fonts directly

00:11:53.909 --> 00:11:56.633
with lualatex and with lualatex commands.

00:11:58.315 --> 00:11:59.437
Let's see what happens here.

00:12:02.401 --> 00:12:04.524
Starts compiling, starts compiling.

NOTE LuaLaTeX is slower

00:12:04.925 --> 00:12:06.507
lualatex is slower, yes.

00:12:07.529 --> 00:12:10.473
That's the main drawback, mainly for people who

00:12:10.553 --> 00:12:17.083
want to have equations, LaTeX preview.

00:12:19.055 --> 00:12:22.182
In Org, when they want to have the preview for

00:12:22.242 --> 00:12:25.689
equations and maths and so on in Org Mode, that

00:12:26.370 --> 00:12:30.860
is the main challenge because lualatex gets

00:12:30.880 --> 00:12:34.588
slower, and that will of course make them not be

00:12:34.688 --> 00:12:41.060
able to get a flashy auto-refreshing display and so on.

NOTE The fonts are rendered

00:12:42.482 --> 00:12:46.428
But the thing for me and for my manuals, if you

00:12:46.488 --> 00:12:49.693
want to say it like this, is that first of all we

00:12:49.753 --> 00:12:53.158
have here the serif fonts, you have the sans

00:12:53.178 --> 00:12:57.064
fonts, you have the mono font with the free fonts, right?

00:12:58.146 --> 00:13:02.012
So the next thing that came in was of course,

00:13:02.453 --> 00:13:06.038
let's see what happens with the listing.

00:13:18.893 --> 00:13:24.664
Takes longer, but that is something that I can

00:13:24.864 --> 00:13:28.731
use to show my students how things will look like

00:13:28.832 --> 00:13:29.353
in the screen.

00:13:31.717 --> 00:13:35.424
And this was a question that was raised beginning

00:13:35.444 --> 00:13:37.628
of 2024 in the list.

00:13:40.392 --> 00:13:41.694
[Sacha]: I appreciate your persistence.

NOTE The farmer on the donkey in front of the train

00:13:42.896 --> 00:13:44.558
[Pedro]: Yes.

00:13:45.560 --> 00:13:50.086
There's this film, Spanish film from the 30s,

00:13:50.126 --> 00:13:51.188
from beginning of the 30s.

00:13:51.288 --> 00:13:53.211
It was still Republic before the Civil War.

00:13:54.092 --> 00:14:00.882
And there's a man dressed as a farmer in Aragon

00:14:01.443 --> 00:14:05.809
(they are known to be very stubborn) on his donkey

00:14:05.789 --> 00:14:07.752
on a train track,

00:14:08.493 --> 00:14:11.778
and the train behind him, and he doesn't move

00:14:11.798 --> 00:14:12.799
from the track.

00:14:12.819 --> 00:14:16.885
The only thing he's saying, "You can toot as much

00:14:16.945 --> 00:14:18.467
as you want, I'm not going to move.

00:14:18.808 --> 00:14:20.450
If you want to move, move yourself."

00:14:20.871 --> 00:14:21.532
So he continues.

00:14:21.592 --> 00:14:25.377
And the train, and the people: "Why don't you move?"

00:14:25.898 --> 00:14:27.761
At the end, they come to a joint, he

00:14:27.821 --> 00:14:30.084
continues on the road, and the train takes the

00:14:30.144 --> 00:14:31.165
other track.

00:14:31.186 --> 00:14:34.170
When the train goes by, he says, I told you,

00:14:34.250 --> 00:14:35.712
you had to go another way.

00:14:37.548 --> 00:14:40.974
So this is more or less, this in Spanish has

00:14:41.054 --> 00:14:45.422
become a saying.

00:14:45.622 --> 00:14:47.045
It's more than a phrase.

00:14:47.145 --> 00:14:49.269
It's a chufla chufla.

00:14:50.311 --> 00:14:54.017
And I'm a bit of a chufla chufla.

00:14:54.197 --> 00:14:57.263
When I think that there's something that needs to

00:14:57.303 --> 00:14:59.607
be done, I can be very stubborn.

00:15:01.713 --> 00:15:05.779
[Prot]: And of course you need to be stubborn

00:15:06.119 --> 00:15:09.704
because these sorts of things are tricky and they

00:15:09.784 --> 00:15:11.606
require time. Especially on

00:15:11.607 --> 00:15:14.069
a mailing-list-driven workflow,

00:15:14.070 --> 00:15:15.952
you have to listen to what users want.

00:15:15.953 --> 00:15:18.696
You have to take in feedback. It is a slow process.

00:15:18.697 --> 00:15:20.279
You really have to be patient and

00:15:20.339 --> 00:15:21.640
stubborn, for sure.

00:15:21.641 --> 00:15:29.492
[Pedro]: Yes. Basically, my motivation was I know that I need it.

00:15:30.485 --> 00:15:33.089
Maybe other people don't want to say,

00:15:33.129 --> 00:15:34.310
but they need it also.

NOTE Unicode and LuaLaTeX

00:15:35.772 --> 00:15:37.134
[Prot]: Can I ask a comment?

00:15:37.214 --> 00:15:39.898
Can I ask a question here or will you continue?

00:15:39.918 --> 00:15:43.844
Because I want to clarify the Unicode characters.

00:15:44.104 --> 00:15:45.406
Earlier we were getting an error.

00:15:46.187 --> 00:15:47.909
Now we see the tree.

00:15:49.151 --> 00:15:51.734
Is this because of FreeFont?

00:15:51.754 --> 00:15:53.417
Is this because of lualatex?

00:15:53.917 --> 00:15:54.739
Is it a combination?

00:15:54.879 --> 00:15:57.943
What exactly helped us fix this?

00:15:58.160 --> 00:16:01.404
[Pedro]: Okay, it's a very, very good question.

00:16:01.444 --> 00:16:02.545
I was forgetting that.

00:16:02.946 --> 00:16:04.528
So here we have a combination.

00:16:06.490 --> 00:16:11.576
lualatex is handling the UTF characters very nicely.

00:16:11.596 --> 00:16:15.541
Something that pdflatex did not or was very

00:16:15.581 --> 00:16:18.685
difficult to have them done, doing it.

00:16:19.686 --> 00:16:24.212
The second thing is that Free Mono has these

00:16:25.013 --> 00:16:26.074
display characters.

00:16:26.763 --> 00:16:28.307
which is also important.

00:16:29.010 --> 00:16:31.096
And of course, if you want to use free mono, you

00:16:31.156 --> 00:16:35.568
need to use lualatex to drive the thing.

00:16:35.589 --> 00:16:37.554
So it's the three things.

00:16:37.574 --> 00:16:40.663
You have the right font, the right compiler and

00:16:40.703 --> 00:16:41.987
the right environment.

00:16:43.486 --> 00:16:49.173
So the next thing is, of course, also on the list.

00:16:49.193 --> 00:16:52.838
Once again, I need my full because it's going to

00:16:52.878 --> 00:16:55.982
be a bit quicker than if I go writing everything

00:16:56.062 --> 00:16:56.583
on my own.

00:16:57.284 --> 00:17:00.427
If I go down...

NOTE Emojis

00:17:00.428 --> 00:17:01.449
There was someone saying,

00:17:01.569 --> 00:17:04.313
"Hey, I want my emojis."

00:17:07.056 --> 00:17:08.278
[Sacha]: They're very important, you know.

00:17:09.490 --> 00:17:11.352
[Pedro]: Yeah, I know.

00:17:11.412 --> 00:17:15.217
For me, it's as important as for anyone.

00:17:16.238 --> 00:17:22.185
Because maybe you want this, or if you're just...

00:17:22.305 --> 00:17:27.431
If I'm on a manual, I might want to point out

00:17:27.491 --> 00:17:33.378
things like... And then I go with the hand, with

00:17:33.418 --> 00:17:37.843
the body, with the hand, with the...

00:17:39.072 --> 00:17:42.256
single finger which is the S and then I just want

00:17:42.297 --> 00:17:46.342
to point at things like this for example and to

00:17:46.402 --> 00:17:50.648
make it... I might want to highlight something

00:17:50.688 --> 00:17:55.014
that people have to do with this. Let's try

00:17:55.235 --> 00:17:57.778
with this current configuration. If I try with

00:17:57.798 --> 00:18:00.422
this current configuration... And there we are going

00:18:00.462 --> 00:18:06.661
to see the second part of the answer to Prot's question:

00:18:06.681 --> 00:18:09.804
we start compiling, we start compiling, we start

00:18:09.864 --> 00:18:13.728
compiling, and then suddenly we have like two

00:18:13.828 --> 00:18:17.452
characters which are not part of the thing.

00:18:18.312 --> 00:18:18.533
Why?

00:18:18.553 --> 00:18:21.315
Because they are not part of Free Font.

00:18:21.956 --> 00:18:27.582
Or in this case they are not part of FreeSerif.

00:18:28.482 --> 00:18:30.244
They are not included in FreeSerif.

00:18:30.304 --> 00:18:32.046
I need something else.

00:18:32.768 --> 00:18:36.953
There's where the full thing came in.

NOTE
Fallback fonts
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-20-01-900.jpg
#+SCREENSHOT_TIME: 00:20:01.900

00:18:37.654 --> 00:18:43.061
I was very much inspired by what Pandoc is doing.

00:18:43.101 --> 00:18:45.484
In Pandoc, you can say, "I have my serif font, which

00:18:45.545 --> 00:18:49.970
is this font. For this font, I want

00:18:50.010 --> 00:18:54.656
these fallbacks because that's..." Fallback is, first

00:18:54.696 --> 00:18:55.638
of all, fallback fonts.

00:18:55.798 --> 00:19:01.425
Fallback is a term used by lualatex to

00:19:01.540 --> 00:19:04.744
say, if you can't find a character in a font,

00:19:04.745 --> 00:19:07.709
try to find it in another font.

00:19:08.030 --> 00:19:11.756
And then, if you provide lualatex with a list of

00:19:11.816 --> 00:19:15.161
fonts, it's going to be looking up the fonts

00:19:15.501 --> 00:19:16.723
to get your characters.

00:19:18.686 --> 00:19:20.148
That's the main idea.

00:19:21.330 --> 00:19:24.715
[Prot]: Let me ask something here, because if you

00:19:24.855 --> 00:19:26.518
notice the output...

00:19:26.735 --> 00:19:29.939
Of course, it is not what we want, but it is also

00:19:30.099 --> 00:19:34.245
not just the tofu, you know, like the missing

00:19:34.285 --> 00:19:34.865
character.

00:19:35.406 --> 00:19:39.652
If you notice, there is some kind of a symbol

00:19:39.732 --> 00:19:41.354
there going on.

00:19:41.594 --> 00:19:45.079
From what I recall, we have characters and

00:19:45.119 --> 00:19:46.861
then we have something that is called the

00:19:46.961 --> 00:19:48.742
grapheme or grapheme cluster,

00:19:48.743 --> 00:19:49.764
something like that,

00:19:49.765 --> 00:19:51.647
which is basically characters laid on top

00:19:51.707 --> 00:19:53.890
of each other to produce the emoji.

00:19:54.359 --> 00:19:57.908
It seems here that Free Font has the

00:19:58.028 --> 00:19:59.993
underlying characters, but maybe not the

00:20:00.073 --> 00:20:01.896
composition codes or something like that.

00:20:01.897 --> 00:20:05.966
[Pedro]: No. It only has some characters.

00:20:05.967 --> 00:20:07.671
It only has some some underlying

00:20:07.731 --> 00:20:10.157
characters. For example it only has the...

00:20:10.424 --> 00:20:13.407
It has the finger, but it doesn't have

00:20:13.987 --> 00:20:16.310
all the compositions that you need for that.

00:20:16.330 --> 00:20:16.950
[Prot]: Exactly.

00:20:16.990 --> 00:20:19.293
[Sacha]: That one in particular, I think, changes

00:20:19.333 --> 00:20:20.494
the color of it.

00:20:20.514 --> 00:20:21.415
So that's why.

00:20:21.435 --> 00:20:22.576
[Pedro]: Yes.

00:20:22.816 --> 00:20:26.460
And if you look at the, if we go back here, it's

00:20:26.520 --> 00:20:33.086
saying there's no character at all for the face.

00:20:34.087 --> 00:20:36.169
But if you go to the beginning, you will also

00:20:36.289 --> 00:20:39.452
notice that there was some, where was it?

00:20:39.512 --> 00:20:40.313
I've seen it.

00:20:44.393 --> 00:20:48.918
At some point, they are also telling you that the

00:20:48.978 --> 00:20:50.120
thing... where is it?

00:20:50.420 --> 00:20:50.981
Okay, fine.

00:20:51.622 --> 00:20:52.843
It's going to take too long to find.

00:20:53.304 --> 00:20:54.325
[Sacha]: It's fine.

00:20:54.345 --> 00:20:56.307
Besides, you fixed the problem, so you don't have

00:20:56.327 --> 00:20:57.929
to dig into the old way of doing things.

00:20:59.231 --> 00:21:03.276
[Pedro]: Yes, so that's my main problem right now.

00:21:04.477 --> 00:21:09.743
So I go and I'm going to go to the... I keep

00:21:09.783 --> 00:21:15.336
trying to use the teleconference, the conference screen,

00:21:15.396 --> 00:21:17.199
the shared screen instead of the red one.

00:21:17.580 --> 00:21:21.827
This is why sometimes I sort of get mixed up.

00:21:22.708 --> 00:21:24.091
We had this.

00:21:27.136 --> 00:21:31.623
And I'm just going to go and comment this out

00:21:32.144 --> 00:21:34.127
because I'm going to go for the new one.

NOTE
Fallback configuration
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-22-31-167.jpg
#+SCREENSHOT_TIME: 00:22:31.167
#+SCREENSHOT_CROP: 442 323 1160 648

00:21:39.389 --> 00:21:42.132
For the new one, I have a full example here.

00:21:42.592 --> 00:21:46.456
Here we go with the fontspec configuration,

00:21:49.639 --> 00:21:53.462
which is at the beginning. You say, what are you

00:21:53.502 --> 00:22:00.769
doing there, right? I know it might

00:22:00.809 --> 00:22:03.372
look a bit scary at the beginning but then if you

00:22:03.552 --> 00:22:05.774
if you're familiar with what Pandoc is doing it's

00:22:05.854 --> 00:22:06.915
not that different

00:22:08.701 --> 00:22:09.302
[Sacha]: Nonsense.

00:22:09.482 --> 00:22:10.162
It's not scary at all.

00:22:10.182 --> 00:22:11.584
We'll just copy whatever you post.

00:22:15.007 --> 00:22:15.828
[Prot]: Life is simple.

00:22:16.809 --> 00:22:20.212
[Pedro]: Yeah, no, but I mean, that's the basic idea.

00:22:20.913 --> 00:22:23.636
You have something very similar to this in the

00:22:24.036 --> 00:22:29.261
actual documentation, both in the docstring and

00:22:29.441 --> 00:22:30.583
in the manual.

00:22:31.143 --> 00:22:34.066
So all this process that I'm telling you is also

00:22:34.166 --> 00:22:37.189
part of the manual, step by step.

00:22:37.928 --> 00:22:41.414
So let's go for this and let's try to... First of

00:22:41.475 --> 00:22:43.478
all, I'm going to load my new variables.

00:22:43.498 --> 00:22:45.001
I'm going to refresh the variables.

00:22:46.143 --> 00:22:47.225
Let's go.

NOTE Selecting fonts

00:22:47.285 --> 00:22:49.810
What I'm saying here is I have a main font,

00:22:51.072 --> 00:22:52.194
I have a sans font,

00:22:53.096 --> 00:22:55.140
and I have a mono font, right?

00:22:55.921 --> 00:22:57.744
That's something that I also had here...

00:22:57.745 --> 00:22:59.548
about here in this part.

00:23:02.043 --> 00:23:04.126
The next thing that I'm saying is that the font

00:23:04.146 --> 00:23:07.770
is free serif, which is this mapping, but saying

00:23:07.810 --> 00:23:10.012
that for main I'm going to use free serif,

00:23:10.013 --> 00:23:12.335
for sans I'm going to use free sans,

00:23:12.336 --> 00:23:14.298
and for mono I'm going to use Noto Sans Mono.

00:23:14.599 --> 00:23:15.680
Why Noto Sans Mono?

00:23:15.700 --> 00:23:16.381
Because I like it.

00:23:17.702 --> 00:23:20.806
It's a bit of a change too. So you can also

00:23:20.846 --> 00:23:25.112
see that you can mix font families and so on.

00:23:25.132 --> 00:23:27.915
Basically I like it because it's very readable.

00:23:29.060 --> 00:23:30.181
And it's very accessible.

00:23:30.762 --> 00:23:33.525
So for this, everything would be what I had

00:23:33.585 --> 00:23:34.306
before, right?

NOTE
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-23-39-033.jpg
#+SCREENSHOT_TIME: 00:23:39.033
#+SCREENSHOT_CROP: 197 494 837 586

00:23:35.287 --> 00:23:38.151
If you have noticed before I compile, you see

00:23:38.231 --> 00:23:41.214
that each font has its own size.

00:23:42.636 --> 00:23:46.140
That is sometimes sort of not very nice, right?

00:23:46.741 --> 00:23:49.224
So what I would do... The next is I'm going to

00:23:49.484 --> 00:23:53.188
add a property to both the sans and the monophon

00:23:53.228 --> 00:23:56.913
to say, try to scale them so that they match the

00:23:56.973 --> 00:23:58.915
lowercase of the main font.

00:24:00.768 --> 00:24:05.294
That sort of makes them more proportional,

00:24:05.775 --> 00:24:09.480
better look and feel, right?

NOTE Fallbacks

00:24:10.642 --> 00:24:14.547
Now comes the really nice thing, the fallbacks.

00:24:15.569 --> 00:24:17.632
We've said, fallback is what?

00:24:17.672 --> 00:24:22.218
Fallback is an alternative font I want to add to

00:24:22.699 --> 00:24:27.445
the document when a character is missing.

00:24:27.465 --> 00:24:30.049
I could just have a list of different fonts

00:24:31.210 --> 00:24:36.796
and go with it and have lualatex decide which

00:24:36.976 --> 00:24:37.857
characters to use.

00:24:39.059 --> 00:24:42.563
But that would make the whole thing very, very, very slow.

00:24:43.564 --> 00:24:50.011
So there's one extra step here, which is look at the document,

00:24:51.693 --> 00:24:55.497
find what kind of Emacs scripts you have in the document.

00:24:56.776 --> 00:24:59.539
Then, if you need to add fallbacks, add them

00:24:59.599 --> 00:25:01.702
for the scripts that are present in the document.

00:25:03.664 --> 00:25:05.907
For example, in this case, we have the emojis.

00:25:07.789 --> 00:25:11.654
These are the ones that I want to change.

00:25:12.655 --> 00:25:17.581
But I don't have any simplified Chinese here,

00:25:18.803 --> 00:25:22.547
so there's not going to be any Han character

00:25:23.860 --> 00:25:26.684
in the document, so it's not going to be included

00:25:28.126 --> 00:25:30.710
in the produced LaTeX.

00:25:33.434 --> 00:25:35.177
That's the whole idea of the fallbacks.

00:25:37.720 --> 00:25:40.945
You have fallbacks for the fonts that need them.

00:25:40.965 --> 00:25:43.509
You might want to have fallbacks

00:25:43.629 --> 00:25:47.134
for sans serif, maybe, if you need it.

00:25:48.751 --> 00:25:50.196
If not, you can omit it.

00:25:50.216 --> 00:25:53.024
In this case, we are only having fallbacks here

00:25:53.125 --> 00:25:57.880
in the serif font, so I'm only going to be adding

00:25:58.321 --> 00:26:01.832
the serif, the fallbacks for serif.

00:26:03.263 --> 00:26:05.006
So that's the basic idea.

00:26:05.827 --> 00:26:08.051
If you go to Pandoc and you read the

00:26:08.111 --> 00:26:11.016
documentation, you will notice that most of the

00:26:11.076 --> 00:26:12.999
things are okay.

00:26:13.199 --> 00:26:21.573
It's not an Emacs Lisp list here or a plist because

00:26:21.633 --> 00:26:25.339
it's YAML, but it's very similar.

00:26:26.045 --> 00:26:30.710
I did some state-of-the-art research before

00:26:31.430 --> 00:26:34.113
actually coming at the end to this definition.

00:26:35.034 --> 00:26:38.778
So now, before I compile and we see that we have

00:26:38.978 --> 00:26:42.081
everything we want, I'm also going to show you

00:26:42.181 --> 00:26:44.704
what is produced.

00:26:44.724 --> 00:26:45.104
[Sacha]: Let's see.

NOTE
The LaTeX produced
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-26-51-067.jpg
#+SCREENSHOT_TIME: 00:26:51.067
#+SCREENSHOT_CROP: 462 345 1010 522

00:26:46.485 --> 00:26:49.869
[Pedro]: This is the LaTeX that is produced.

00:26:49.889 --> 00:26:51.791
The important part is here.

00:26:52.932 --> 00:26:53.993
That's the fallbacks.

00:26:55.306 --> 00:26:59.452
If you see, I'm only having the Noto Color

00:26:59.472 --> 00:27:02.116
emoji font being included.

00:27:02.236 --> 00:27:04.579
Why? Because what I told you before, there is no Han,

00:27:05.080 --> 00:27:08.845
so there's no character being added there.

00:27:09.526 --> 00:27:12.510
I don't add the Han font because I don't need it.

00:27:15.094 --> 00:27:18.078
That's sort of a mini optimization that you may

00:27:18.158 --> 00:27:18.799
want to have.

00:27:20.399 --> 00:27:21.520
Next thing...

NOTE Character families should be in the Messages buffer

00:27:21.521 --> 00:27:23.644
[Sacha]: Sorry, how do people find out what keys

00:27:23.704 --> 00:27:26.087
they need to put into that alist? Can they

00:27:26.147 --> 00:27:28.371
describe-char for example to see whether

00:27:28.731 --> 00:27:31.235
they need to put in emoji or some other...?

00:27:32.336 --> 00:27:37.163
[Pedro]: That's a very good question. For

00:27:37.203 --> 00:27:39.987
that, I need to get to the Messages,

00:27:43.693 --> 00:27:47.318
or... Oops. I have Warnings...

00:27:52.006 --> 00:27:52.687
Where is it?

00:27:54.028 --> 00:28:07.020
You should normally have, in your Messages,

00:28:07.021 --> 00:28:10.283
a message from Org Mode

00:28:10.284 --> 00:28:13.687
telling you that it found the characters.

00:28:13.727 --> 00:28:16.110
I don't know why I'm not seeing it here.

00:28:16.130 --> 00:28:17.912
[Sacha]: Is it maybe in that Tilix window that

00:28:17.952 --> 00:28:19.313
you have there with a make edit?

00:28:20.778 --> 00:28:21.419
[Pedro]: No, no, no.

00:28:22.161 --> 00:28:24.286
It's inside the Emacs.

00:28:24.587 --> 00:28:31.783
And I'm not finding it.

00:28:35.105 --> 00:28:35.966
I'm not finding it.

00:28:36.026 --> 00:28:38.390
I don't know why, but it should be there.

00:28:39.151 --> 00:28:45.240
Normally, Org Mode would tell you that you have

00:28:46.222 --> 00:28:49.547
these and those characters, that you have the

00:28:49.587 --> 00:28:50.388
different families.

00:28:50.849 --> 00:29:01.324
You will also see it if I were to, say... I'm going

00:29:01.365 --> 00:29:04.369
to move this out so I don't have fallbacks.

00:29:06.475 --> 00:29:09.499
This would be a basic configuration.

00:29:10.260 --> 00:29:18.292
So now that I have my fallbacks out, and I go and

00:29:18.312 --> 00:29:26.783
I... So you see that I don't have fallbacks.

00:29:27.184 --> 00:29:30.829
And then if I go to the warrings, where is it?

00:29:33.020 --> 00:29:34.590
[Prot]: Maybe messages?

00:29:35.435 --> 00:29:37.005
[Pedro]: To the messages, exactly.

00:29:44.984 --> 00:29:46.225
I'm sorry, I don't find it.

00:29:46.766 --> 00:29:47.287
[Sacha]: It's okay.

00:29:47.487 --> 00:29:48.528
[Pedro]: But there is a message,

00:29:49.009 --> 00:29:51.911
I'm sure there is a message

00:29:51.912 --> 00:29:56.797
which tells you which families or which scripts

00:29:56.798 --> 00:29:59.601
you have in your document.

00:30:00.362 --> 00:30:00.562
[Sacha]: All right.

00:30:00.582 --> 00:30:01.403
No problem.

00:30:01.423 --> 00:30:03.826
I'm sure all of this will come with wonderful

00:30:03.886 --> 00:30:09.633
documentation because the Org project is very good at that.

NOTE Behind the scenes

00:30:09.653 --> 00:30:12.076
[Pedro]: Yes. We spend a lot of time going through the

00:30:12.116 --> 00:30:13.337
documentation.

00:30:14.009 --> 00:30:19.398
The current documentation currently has undergone

00:30:19.658 --> 00:30:23.444
a lot of scrutiny both by Ihor and by myself.

00:30:23.645 --> 00:30:25.608
I've rewritten it two or three times to make it

00:30:25.708 --> 00:30:30.656
clearer as I gained insights into what I wanted

00:30:30.716 --> 00:30:33.621
to tell people and

00:30:33.601 --> 00:30:36.985
At one point in time I isolated myself completely.

00:30:37.005 --> 00:30:38.326
I rewrote everything.

00:30:38.887 --> 00:30:42.471
I forgot about all the exchanges I had with Ihor

00:30:42.791 --> 00:30:47.957
and I had my own ideas of what I wanted to say.

00:30:48.337 --> 00:30:50.639
I rewrote everything from scratch and suddenly

00:30:50.800 --> 00:30:52.181
Ihor said, this is what I wanted.

00:30:53.883 --> 00:30:58.508
Currently the documentation is at least a bit

00:30:58.548 --> 00:30:59.809
more than just usable.

NOTE Refreshing local variables

00:31:00.410 --> 00:31:02.292
Let's go back to this.

00:31:03.082 --> 00:31:09.171
As you see... This is something stupid.

00:31:09.191 --> 00:31:12.797
I mean, you see that this refresh local variables

00:31:13.258 --> 00:31:15.100
is a small function that I've written myself.

00:31:15.842 --> 00:31:20.889
Since I'm working a lot with local variables, I'm

00:31:21.270 --> 00:31:24.315
also trying to have shortcuts for all this kind

00:31:24.375 --> 00:31:24.695
of things.

00:31:25.036 --> 00:31:27.179
[Sacha]: Oh, I thought C-c C-c did that in the

00:31:27.219 --> 00:31:27.840
directive.

00:31:29.288 --> 00:31:34.155
[Pedro]: Sometimes it does not, or at least...

00:31:34.175 --> 00:31:39.682
the case is... I did it myself.

00:31:39.963 --> 00:31:42.246
I rewrote everything to be sure that I got my

00:31:42.486 --> 00:31:44.509
local variables, my directory variables, and

00:31:44.569 --> 00:31:49.115
everything nice as I wanted. Once I have this...

00:31:49.395 --> 00:31:53.241
Once again... There. If I now go and compile

00:31:53.261 --> 00:31:55.684
for the last time...

00:31:58.313 --> 00:31:59.334
What is missing?

00:31:59.375 --> 00:32:01.778
What have I done wrong?

00:32:15.958 --> 00:32:19.764
[Sacha]: Do you want a series of undoes?

00:32:20.384 --> 00:32:22.648
[Pedro]: I'm going to go the quick way.

00:32:23.329 --> 00:32:25.231
[Prot]: I think there was a missing parenthesis in that.

00:32:25.492 --> 00:32:26.413
[Pedro]: Yeah, somewhere.

00:32:27.322 --> 00:32:31.927
[Prot]: Yeah, yeah, yeah, there it is.

00:32:37.073 --> 00:32:39.576
[Pedro]: No, it looks right, actually.

00:32:39.596 --> 00:32:44.682
No, yes, because I've copied it from my notebook.

00:32:49.948 --> 00:32:50.889
[Sacha]: It's not doing the thing yet.

00:32:53.312 --> 00:32:53.532
[Pedro]: Yeah, yeah.

00:32:55.165 --> 00:32:59.346
And that comes... That's something that I...

00:32:59.347 --> 00:33:01.176
So at least if you do it like this...

00:33:03.215 --> 00:33:06.560
I don't know why this hand does not work

00:33:06.600 --> 00:33:09.264
correctly with Noto Color Emoji.

00:33:09.765 --> 00:33:11.167
Another takeaway.

00:33:11.188 --> 00:33:14.773
You have to find your own wonderful emoji file.

00:33:15.094 --> 00:33:16.115
The other one is Apple.

00:33:16.296 --> 00:33:21.343
Apple Color Emoji has a different [??] for emojis.

00:33:21.964 --> 00:33:23.807
That's something that I also wanted to highlight.

00:33:23.887 --> 00:33:27.433
Sometimes you don't get the full...

00:33:27.413 --> 00:33:31.458
It's important you have to do a lot of look and find.

00:33:32.459 --> 00:33:35.661
But at least with this you get your...

00:33:35.662 --> 00:33:37.705
At least with this, what do I get?

NOTE
Scaling fonts to match lowercase
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-33-39-067.jpg
#+SCREENSHOT_TIME: 00:33:39.067
#+SCREENSHOT_CROP: 175 429 841 934

00:33:37.885 --> 00:33:43.331
I get my fonts scaled so that they look more or

00:33:43.351 --> 00:33:44.733
less the same size,

00:33:46.194 --> 00:33:47.376
which is a nice appearance.

00:33:47.456 --> 00:33:52.281
I have my listings and my outputs.

00:33:53.963 --> 00:33:54.984
And I have my emojis.

00:33:56.646 --> 00:33:57.387
[Prot]: This looks good.

00:33:58.396 --> 00:33:59.579
[Pedro]: This is basically what I need.

00:33:59.580 --> 00:34:02.883
[Prot]: Can I ask something?

00:34:03.484 --> 00:34:04.746
Two questions, actually.

00:34:05.708 --> 00:34:10.535
One is, I see the props parameter you have for the...

00:34:10.536 --> 00:34:11.838
if you switch to your Emacs buffer...

00:34:13.360 --> 00:34:13.981
[Pedro]: Just a second.

00:34:14.001 --> 00:34:16.205
I was on the wrong stream.

00:34:16.344 --> 00:34:18.007
[Prot]: Okay.

NOTE Specifying the fallbacks

00:34:17.987 --> 00:34:22.375
So you see you have that props, and then you are

00:34:22.435 --> 00:34:27.963
passing it a string. In the fallbacks, you have a

00:34:28.023 --> 00:34:32.268
slightly different expression where you have the

00:34:32.329 --> 00:34:35.554
font set, and then you pass it the font, but for

00:34:35.594 --> 00:34:37.838
example, with Noto Color Emoji, you are not just

00:34:37.878 --> 00:34:40.021
passing Noto Color Emoji, you are also passing a

00:34:40.081 --> 00:34:44.788
parameter to me that looks like the pango markup,

00:34:45.292 --> 00:34:48.518
whereas the other one looks like something else,

00:34:48.539 --> 00:34:50.322
another markup.

00:34:50.342 --> 00:34:52.708
I just want to ask if you know, off the top of

00:34:52.748 --> 00:34:56.034
your head, if the documentation for Pango and for

00:34:56.074 --> 00:34:57.758
whatever else that is,

00:34:57.759 --> 00:35:02.000
is clearly available somewhere so that we can follow it because

00:35:02.001 --> 00:35:03.933
one issue I always find with

00:35:03.934 --> 00:35:07.833
LaTeX or with anything that has to do with these complex things

00:35:07.834 --> 00:35:10.600
is that they assume you are a domain expert.

00:35:10.601 --> 00:35:12.167
And it's like, okay, just do fonts

00:35:12.168 --> 00:35:13.733
the way you do it in LaTeX.

00:35:13.734 --> 00:35:15.833
And I'm like, okay, how do you do it...

00:35:15.834 --> 00:35:16.567
[Pedro]: "No, but how?"

00:35:16.568 --> 00:35:23.955
Yeah, I know. Exactly. That part is extremely complex.

00:35:25.117 --> 00:35:28.621
Because in this case, what you're saying

00:35:28.741 --> 00:35:31.303
is do whatever you do with your normal fonts

00:35:31.304 --> 00:35:32.345
if you don't have the colon.

NOTE HarfBuzz

00:35:33.006 --> 00:35:36.350
If you have the colon, then what they say is you

00:35:36.410 --> 00:35:39.394
need to have, in this case, you need to have the

00:35:39.434 --> 00:35:46.582
HarfBuzz rasterizer or however it is called.

00:35:47.563 --> 00:35:49.986
And that... Yes, you're completely right.

00:35:50.306 --> 00:35:52.569
This is a problem with the documentation.

00:35:52.589 --> 00:35:56.256
I have... To the best of my knowledge,

00:35:56.257 --> 00:36:03.225
the only ones that really need harf are the emojis.

00:36:05.360 --> 00:36:07.690
That's the example.

00:36:07.710 --> 00:36:10.233
For the rest of the font, at least at this point

00:36:10.313 --> 00:36:14.117
in time, you don't need, or with this feature

00:36:14.137 --> 00:36:17.261
set, you don't need any sort of extra things.

NOTE Upcoming work on Babel (the LaTeX package)

00:36:17.821 --> 00:36:20.284
The extra things will come in the future,

00:36:20.804 --> 00:36:26.211
when you try to integrate things like Babel,

00:36:26.212 --> 00:36:29.255
with controlling the fonts in Babel,

00:36:29.256 --> 00:36:31.418
which I personally already have running,

00:36:31.419 --> 00:36:35.045
but it's not yet integrated into Org Mode.

00:36:35.766 --> 00:36:37.408
That's going to take another year, I think.

00:36:39.751 --> 00:36:42.275
[Prot]: But you are persistent, so yeah, you will do it.

00:36:42.295 --> 00:36:45.239
[Pedro]: Yeah, no, no. I mean, I want to have it.

00:36:45.660 --> 00:36:46.782
I need it also.

00:36:46.802 --> 00:36:49.866
At least I would like to see it officially

00:36:50.183 --> 00:36:54.096
sanctioned by whoever needs to sanction it before

00:36:54.176 --> 00:36:55.461
I retire in two years,

00:36:57.869 --> 00:37:00.598
so that people can use it once I retire.

NOTE More about HarfBuzz and ligatures?

00:37:02.401 --> 00:37:05.364
[Prot]: Good, good. The other question I have related to this and

00:37:05.384 --> 00:37:09.048
emoji is I remember when HarfBuzz was discussed

00:37:09.068 --> 00:37:11.130
in the context of integrating it with Emacs.

00:37:11.170 --> 00:37:13.813
Maybe that was Emacs 28 or something along those lines.

00:37:14.734 --> 00:37:15.915
There was this point.

00:37:15.995 --> 00:37:18.397
Now, maybe I am conflating things, but there was

00:37:18.417 --> 00:37:21.861
this point that with this included, like you

00:37:21.921 --> 00:37:25.304
build Emacs with support for HarfBuzz and now it

00:37:25.385 --> 00:37:27.767
also supports ligatures.

00:37:27.747 --> 00:37:31.375
Now, a ligature is something that is fancy. Like, for

00:37:31.435 --> 00:37:34.021
example, you take three characters, like

00:37:34.061 --> 00:37:36.025
the equal sign in JavaScript,

00:37:36.026 --> 00:37:37.147
three equal signs,

00:37:37.148 --> 00:37:39.894
and you make it look like one character.

00:37:40.155 --> 00:37:42.280
I don't know if this is part of what you are

00:37:42.360 --> 00:37:42.921
doing here.

00:37:43.778 --> 00:37:47.864
[Pedro]: Well, a very good question.

00:37:50.287 --> 00:37:55.274
This discussion that there was on Emacs 28 for

00:37:55.594 --> 00:37:58.298
HarfBuzz (yes or no) and ligatures and all these

00:37:58.338 --> 00:38:02.343
kind of things has not helped.

00:38:03.365 --> 00:38:04.666
Let's say it this way...

00:38:06.269 --> 00:38:08.031
It adds confusion.

00:38:08.011 --> 00:38:13.178
In this context, sorry to be that clear.

00:38:13.419 --> 00:38:16.723
Why? Because you have to think it as two different,

00:38:17.264 --> 00:38:19.868
this is two different, completely different pairs

00:38:19.928 --> 00:38:20.248
of shoes.

00:38:20.869 --> 00:38:24.154
[Sacha]: Okay, because we're saying it's not LaTeX export.

00:38:24.174 --> 00:38:28.099
[Pedro]: Yes, so I'm delegating as much as I can

00:38:28.800 --> 00:38:32.345
to lualatex and to all these, so ligatures and

00:38:32.405 --> 00:38:35.790
things like that are part of LaTeX.

00:38:36.479 --> 00:38:39.505
I don't want to treat them at all.

00:38:40.126 --> 00:38:44.575
The only point where I need to sort of touch

00:38:45.997 --> 00:38:48.242
lower level, which would be like HarfBuzz, for

00:38:48.302 --> 00:38:52.430
example, is telling lualatex to use HarfBuzz to

00:38:53.351 --> 00:38:54.313
include some characters.

00:38:56.097 --> 00:38:58.842
So that's the full question.

00:38:59.041 --> 00:39:00.463
[Sacha]: So far you've shown us how to include

00:39:00.523 --> 00:39:04.027
Unicode in the output and also how to specify

00:39:04.067 --> 00:39:06.870
fallback fonts for things like emojis and other

00:39:06.910 --> 00:39:08.992
things that are not included in your main font.

00:39:09.493 --> 00:39:11.435
Were there other parts of your very large patch?

00:39:13.617 --> 00:39:18.203
[Pedro]: Oh, the other parts, which are not...

00:39:18.223 --> 00:39:22.127
Well, I mean, the current state is that we have

00:39:22.387 --> 00:39:23.108
all this.

NOTE Upcoming talk on accessible presentations

00:39:23.982 --> 00:39:28.612
We also have support for accessible presentations,

00:39:29.193 --> 00:39:33.082
and there... In EmacsConf 26, we're going to have a

00:39:34.645 --> 00:39:37.391
presentation on how this came to life by the

00:39:37.451 --> 00:39:38.593
person who inspired it,

00:39:38.594 --> 00:39:42.362
and by the person who wrote it, yours truly.

00:39:42.629 --> 00:39:46.593
The third thing that we have for that,

00:39:46.594 --> 00:39:51.201
we also have a lot of things related with metadata

00:39:52.382 --> 00:39:56.468
management for LaTeX and for PDF documents.

00:39:57.369 --> 00:40:01.635
That's also something where I directly call on

00:40:01.755 --> 00:40:07.082
experts to help us because I know what I know,

00:40:07.342 --> 00:40:10.206
which is at this point I know I don't know.

00:40:10.608 --> 00:40:12.890
That's my current situation.

00:40:14.652 --> 00:40:16.734
I know very little about all this document

00:40:17.535 --> 00:40:19.237
metadata stuff.

00:40:19.257 --> 00:40:23.401
I'm learning in the process of writing things

00:40:23.461 --> 00:40:26.865
for accessible presentations.

00:40:27.285 --> 00:40:31.369
I'm also learning things related with tagging

00:40:31.409 --> 00:40:34.152
PDFs and the tag PDF and all this kind of

00:40:35.554 --> 00:40:38.016
packages which are emerging right now and latest.

00:40:39.160 --> 00:40:40.122
And all this kind of things.

00:40:40.202 --> 00:40:44.730
This integration, which is starting to be fruitful.

00:40:45.672 --> 00:40:50.140
I already have... I'm using it with a couple of

00:40:50.200 --> 00:40:51.442
students who need that.

00:40:52.003 --> 00:40:54.688
They can access my presentations right now.

00:40:57.753 --> 00:41:03.143
I'm also sort of using them as guinea pigs,

00:41:03.123 --> 00:41:07.827
as willing guinea pigs. I'm going beyond

00:41:08.308 --> 00:41:10.610
presentations to providing them with documents

00:41:10.670 --> 00:41:13.592
and so on, and they provide feedback about how

00:41:13.693 --> 00:41:15.554
accessible those documents are and so on.

00:41:16.615 --> 00:41:18.937
For that, we need help.

NOTE Upcoming work on Polyglossia and Babel

00:41:19.838 --> 00:41:22.741
Then the other big thing which is still part

00:41:22.781 --> 00:41:29.667
of our conversation right now is the Polyglossia

00:41:30.928 --> 00:41:32.910
and Babel packages.

00:41:33.346 --> 00:41:40.535
Polyglossian Babel for internationalization.

00:41:42.898 --> 00:41:46.061
For example, Babel is very nice in managing

00:41:46.062 --> 00:41:50.007
left to right and right to left and things like that.

00:41:51.389 --> 00:41:53.211
[Sacha]: I don't suppose you have a quick demonstration?

00:41:54.558 --> 00:41:55.560
[Pedro]: Not yet.

00:41:57.042 --> 00:42:00.327
That would be another long presentation to show

00:42:00.368 --> 00:42:02.892
you all the kinds of things that we can do.

NOTE
Chinese, Japanese, and Korean
#+SCREENSHOT: emacs-chat-31-pedro-a-aranda-gutierrez-00-43-47-100.jpg
#+SCREENSHOT_TIME: 00:43:47.100
#+SCREENSHOT_CROP: 432 623 1027 689

00:42:02.932 --> 00:42:09.583
And just before we close this, I've been showing

00:42:10.023 --> 00:42:14.190
what I mostly hear dominate, which is English,

00:42:14.571 --> 00:42:18.878
Spanish, or Latin alphabet.

00:42:18.858 --> 00:42:23.224
But with this package, we also have initial

00:42:23.264 --> 00:42:28.390
support for when you're using xelatex.

00:42:29.011 --> 00:42:33.336
There's a package which is called xeCJK to

00:42:33.477 --> 00:42:36.559
provide simplified Chinese, Japanese,

00:42:36.560 --> 00:42:37.962
and Korean documents.

00:42:38.643 --> 00:42:43.689
So this, with lualatex, raw, without any Babel or

00:42:43.770 --> 00:42:46.732
anything else, raw and monolingual,

00:42:46.733 --> 00:42:48.055
is also supported.

00:42:48.794 --> 00:42:53.861
What I basically do is I map what is on

00:42:54.101 --> 00:42:58.307
Overleaf describing how to do this with xelatex

00:42:58.427 --> 00:43:01.992
and this package which is called xeCJK.

00:43:03.575 --> 00:43:07.761
I map that with the same kind of header.

00:43:08.021 --> 00:43:11.946
You can use this kind of variables to do the same

00:43:12.547 --> 00:43:17.434
for this Chinese, Japanese, and Korean document.

00:43:18.022 --> 00:43:20.888
[Sacha]: Would you happen to have an example so

00:43:21.650 --> 00:43:23.754
that people can see what the markup looks like?

00:43:25.738 --> 00:43:28.564
[Pedro]: The markup, I mean, the idea would be

00:43:28.724 --> 00:43:32.993
instead of using main... I don't have an example here..

00:43:34.289 --> 00:43:36.895
But the idea is that instead of calling the fonts

00:43:37.155 --> 00:43:41.464
main, sans, and mono, you have CJKmain.

00:43:41.945 --> 00:43:43.910
So you would have something like, the font would

00:43:43.950 --> 00:43:45.132
be like CJKMain.

00:43:45.774 --> 00:43:50.203
C, J, K. And the other thing is that you would

00:43:50.243 --> 00:43:54.272
have to change your compiler to xelatex.

00:43:55.973 --> 00:44:02.502
That's also very, very well documented in current

00:44:03.082 --> 00:44:04.364
main Org.

00:44:05.165 --> 00:44:06.206
So we have it.

00:44:10.672 --> 00:44:13.977
That would be more or less the effort of the last

00:44:14.137 --> 00:44:20.265
couple of years and how it has crystallized into

00:44:20.305 --> 00:44:22.588
things that are already in master.

NOTE The development process

00:44:22.973 --> 00:44:26.497
[Sacha]: I'm quite curious about the development process.

00:44:26.577 --> 00:44:29.641
Since it's a large change and it's taking a while

00:44:29.661 --> 00:44:32.144
to develop, what was it like for you to keep it

00:44:32.204 --> 00:44:35.989
going despite all the developments in Org

00:44:36.069 --> 00:44:39.113
underneath?

00:44:39.133 --> 00:44:41.055
[Pedro]: Well, it's not that difficult.

00:44:41.756 --> 00:44:46.382
At the end, I needed to learn to use VC.

00:44:47.948 --> 00:44:51.653
Last year in Emacs, I'm doing everything from the

00:44:51.673 --> 00:44:53.996
VC package in Emacs.

00:44:54.016 --> 00:44:58.361
So I have a nice workflow there to go and get

00:44:58.461 --> 00:45:03.948
my... I have two... On one side, I'm, of course,

00:45:05.150 --> 00:45:08.034
going back and putting everything into the main

00:45:08.314 --> 00:45:11.458
Org git.

00:45:11.438 --> 00:45:16.086
But I'm also having my own Codeberg with most

00:45:16.146 --> 00:45:18.290
things that I'm using.

00:45:19.993 --> 00:45:23.379
With Emacs it's quite easy to go, either modify

00:45:23.519 --> 00:45:26.885
one and have the things pushed up, or generating

00:45:26.925 --> 00:45:31.793
the patches so that Ihor blesses them,

00:45:31.773 --> 00:45:33.315
puts them into main.

00:45:33.735 --> 00:45:38.520
Or when I'm doing lots of things that I need for

00:45:38.600 --> 00:45:40.803
a certain point, I go to my Codeberg.

00:45:40.843 --> 00:45:42.725
There I have my FontSpec 3 branch.

00:45:43.305 --> 00:45:45.428
There I do my own changes.

00:45:45.448 --> 00:45:46.108
I check them.

00:45:46.168 --> 00:45:46.809
I test them.

00:45:46.989 --> 00:45:49.051
I test drive them.

00:45:49.692 --> 00:45:52.715
Because, yes, it's been a lot of work to have

00:45:52.795 --> 00:45:53.917
everything running.

00:45:55.138 --> 00:45:59.322
But it's always based on real life.

00:45:59.342 --> 00:46:04.119
And how would... I try to say

00:46:04.120 --> 00:46:06.703
how would someone do it, who knows a

00:46:06.763 --> 00:46:12.151
bit about Emacs and a bit about LaTeX and wants

00:46:12.651 --> 00:46:14.133
to write as little as possible.

00:46:15.736 --> 00:46:17.799
[Sacha]: This is so much better than the

00:46:17.879 --> 00:46:21.403
other way of specifying a new LaTeX command that

00:46:21.424 --> 00:46:23.326
just changes the font for that one specific

00:46:23.366 --> 00:46:24.908
character and then you have to use it for all the

00:46:24.968 --> 00:46:26.430
emojis that you have in your document.

00:46:26.891 --> 00:46:29.775
So having it automatically fall back is so much nicer.

00:46:31.308 --> 00:46:34.452
[Pedro]: Yeah, no, I mean, I was not going to go

00:46:34.512 --> 00:46:37.856
the PDF way of having every emoji that I want,

00:46:38.557 --> 00:46:41.300
recoded, and then inserted into the document.

00:46:42.041 --> 00:46:44.965
I tried some.

00:46:46.887 --> 00:46:47.528
What was it?

00:46:47.949 --> 00:46:48.810
When did we start?

00:46:50.652 --> 00:46:53.115
I tried it like eight years ago, and I decided

00:46:53.155 --> 00:46:57.154
once I have emojis in a nice way, I will use them.

00:46:57.795 --> 00:47:00.340
So my first manuals, if you go back, the first

00:47:00.380 --> 00:47:03.285
manuals that I distributed for that specific

00:47:03.345 --> 00:47:05.189
course did not have any emojis.

00:47:06.571 --> 00:47:12.482
So I was able to do basically this, which was

00:47:12.783 --> 00:47:16.890
what I needed for... I started with a header like this.

00:47:19.334 --> 00:47:23.639
And then when things came and I also needed to go

00:47:23.739 --> 00:47:28.765
like the scaling, what I did was scale.

00:47:31.969 --> 00:47:35.093
So this was my beginning in all this.

00:47:37.496 --> 00:47:39.939
And these were the commands that I always had in

00:47:39.959 --> 00:47:42.802
the beginning with my lualatex.

00:47:43.062 --> 00:47:45.325
The moment I moved to lualatex

00:47:45.777 --> 00:47:52.248
which was when I needed to do things like this.

00:47:53.730 --> 00:47:58.017
Then once I wanted to go further, then I

00:47:58.057 --> 00:48:00.742
started. When this came to the mailing list,

00:48:00.982 --> 00:48:03.246
my first answer was I'm doing this.

00:48:04.660 --> 00:48:06.523
And then the next question was,

00:48:06.524 --> 00:48:07.507
what about the emojis?

00:48:07.527 --> 00:48:12.499
That sort of triggered the rest.

NOTE Retirement

00:48:12.519 --> 00:48:14.583
[Sacha]: You mentioned wanting to retire in two years.

00:48:15.024 --> 00:48:17.751
I very much hope that you will retire and do even

00:48:17.811 --> 00:48:18.653
more Emacs.

00:48:19.814 --> 00:48:26.965
[Pedro]: I want to continue because it's a nice pastime.

00:48:28.587 --> 00:48:34.396
I want to transition from my tool at work, or in

00:48:34.456 --> 00:48:38.762
this case, my tool at the university, to this is

00:48:38.843 --> 00:48:44.291
a nice pastime to keep this up and running.

00:48:44.812 --> 00:48:47.155
It would be a real pity to lose all this.

00:48:47.860 --> 00:48:49.544
[Sacha]: I'm sure we can find you volunteer

00:48:49.584 --> 00:48:50.106
guinea pigs.

00:48:52.652 --> 00:48:56.341
[Pedro]: I hope I'll get more and more, because

00:48:56.762 --> 00:49:01.313
the more people test it, the better it will get.

00:49:01.968 --> 00:49:04.411
And I'm really looking forward to... I mean, I

00:49:04.471 --> 00:49:08.716
already showed all the things that you can do in

00:49:08.736 --> 00:49:15.383
the last big... In the last Emacs conference last winter.

00:49:16.444 --> 00:49:19.368
So I'm not going to repeat this here.

00:49:20.509 --> 00:49:24.413
So the talk, because I think it's more important

00:49:24.474 --> 00:49:27.377
to go move on to the next big thing and have

00:49:27.437 --> 00:49:30.220
people doing accessible documents.

00:49:31.634 --> 00:49:35.826
I'll keep on top of my donkey with the train

00:49:35.866 --> 00:49:39.357
behind me until I get Babel and Polyglossia also

00:49:39.437 --> 00:49:41.122
integrated.

NOTE Fallback fonts

00:49:41.142 --> 00:49:42.285
[Prot]: Nice, nice, nice.

00:49:43.902 --> 00:49:46.484
Let me ask you the other question I had,

00:49:46.504 --> 00:49:48.146
which maybe it is simple.

00:49:48.666 --> 00:49:50.428
Because you mentioned that you want to have

00:49:50.908 --> 00:49:53.571
local variables so that the documents are

00:49:53.651 --> 00:49:57.474
portable, which brings me to the question about

00:49:58.075 --> 00:49:59.916
specifying generic fonts.

00:49:59.936 --> 00:50:04.320
Like, can you do something like use whatever the

00:50:04.380 --> 00:50:07.864
system has for Serif, Sans, Mono?

00:50:07.884 --> 00:50:11.467
Or you always have to specify a font family, like

00:50:11.547 --> 00:50:13.909
Free Serif, Noto Sans, etc.

00:50:13.889 --> 00:50:19.198
[Pedro]: At this point, this was a very very long

00:50:19.238 --> 00:50:20.360
discussion with Ihor.

00:50:20.901 --> 00:50:23.605
Do you want to have generics or do you want to

00:50:23.665 --> 00:50:24.607
have specifics?

00:50:26.510 --> 00:50:29.956
I was looking more towards specifics.

00:50:30.317 --> 00:50:35.911
Why? Because in my experience, I mean, before I

00:50:35.931 --> 00:50:39.216
started lecturing, I was for a long time in a

00:50:39.316 --> 00:50:41.079
research and development company.

00:50:41.981 --> 00:50:43.483
We had European projects.

00:50:43.744 --> 00:50:49.754
There you had your own LaTeX templates.

00:50:50.294 --> 00:50:53.059
There you had to specify each and every font.

00:50:54.052 --> 00:50:57.578
Then in parallel with that, in the company they

00:50:57.618 --> 00:51:01.784
had their own templates for PowerPoint, for Word

00:51:01.844 --> 00:51:05.510
and so on, and you had to specify each and every

00:51:05.570 --> 00:51:07.854
font that you wanted to use.

00:51:08.695 --> 00:51:13.723
So I've been mapping my experience in my prior

00:51:13.763 --> 00:51:16.547
life into this.

00:51:17.409 --> 00:51:19.452
Having font families

00:51:20.090 --> 00:51:22.592
might be nice. For example, Bera, I said at the

00:51:22.632 --> 00:51:24.494
beginning, that's one of the

00:51:24.554 --> 00:51:27.577
things that might be interesting, right? But as you

00:51:27.617 --> 00:51:31.720
see, even in pdflatex, with Bera, you have to

00:51:31.921 --> 00:51:35.384
include three different packages. So what's

00:51:35.444 --> 00:51:37.306
the difference between including three different

00:51:37.346 --> 00:51:41.870
packages, or directly saying, here, you have

00:51:41.890 --> 00:51:44.492
three different fonts, one for main, one for...

00:51:44.552 --> 00:51:47.495
it's only one for main, one

00:51:47.535 --> 00:51:50.097
for sans and one for...

00:51:50.077 --> 00:51:52.083
That's the only thing that you have in LaTeX.

00:51:52.705 --> 00:51:55.454
[Sacha]: So, not like the CSS way of specifying

00:51:55.474 --> 00:51:59.146
multiple fonts just in case one of them is not there?

00:51:59.166 --> 00:52:04.232
[Pedro]: No. I mean, in this case,

00:52:04.233 --> 00:52:09.400
you are always going to go with what the system has.

00:52:09.420 --> 00:52:12.424
Normally, most of the fonts that, at least

00:52:12.484 --> 00:52:15.608
most of the fonts that I recommend to use, are

00:52:15.669 --> 00:52:19.333
fonts that are included because you have your

00:52:19.554 --> 00:52:22.718
LaTeX installed underneath.

00:52:24.160 --> 00:52:26.843
It's not that I'm going to be there with a, I

00:52:26.883 --> 00:52:30.428
don't know, what was this, what was it?

00:52:31.505 --> 00:52:36.614
Well, there was this Telefonica font family.

00:52:40.120 --> 00:52:41.583
No one is going to have it in real life.

00:52:43.987 --> 00:52:49.016
But the Free fonts are part of LaTeX.

00:52:49.537 --> 00:52:51.560
Another font that I really like a lot, because

00:52:51.620 --> 00:52:56.128
it's very, very readable, is the TeX Gyre family.

00:52:56.969 --> 00:52:58.813
TeX Gyre is very, very readable.

00:52:59.174 --> 00:53:00.436
They have all kinds of fonts.

00:53:00.937 --> 00:53:01.879
I'm using two.

00:53:02.140 --> 00:53:02.260
Why?

00:53:02.300 --> 00:53:04.505
Because it's part of LaTeX.

NOTE LaTeX versions

00:53:06.429 --> 00:53:09.254
And by the way, all this that I've shown today

00:53:09.295 --> 00:53:15.788
can be done with a LaTeX which is basically 2024.

00:53:17.202 --> 00:53:20.570
What I'm going to be showing in December needs a

00:53:20.650 --> 00:53:22.274
very, very modern LaTeX.

00:53:22.935 --> 00:53:23.116
Why?

00:53:23.136 --> 00:53:27.025
Because accessibility has not been in the wire

00:53:27.165 --> 00:53:30.954
for the last... Well, it has only been in the

00:53:30.994 --> 00:53:32.157
wire for the last months.

00:53:33.352 --> 00:53:36.295
So, the real support for accessibility things

00:53:36.415 --> 00:53:39.718
comes with very, very modern LaTeX stuff.

00:53:39.738 --> 00:53:42.681
But this is something you can do with, I mean,

00:53:42.901 --> 00:53:49.307
Ubuntu 2024, I'm sure, and Ubuntu even earlier,

00:53:49.668 --> 00:53:50.769
you could also do.

00:53:51.690 --> 00:53:55.393
Because the LaTeX is not that fancy.

00:53:55.413 --> 00:53:58.016
I think fallback fonts are already a

00:53:58.076 --> 00:54:01.779
well-established mechanism in lualatex for a lot

00:54:01.819 --> 00:54:02.380
of time.

00:54:03.608 --> 00:54:05.210
[Sacha]: Would you happen to know if the widely

00:54:05.250 --> 00:54:08.234
released LaTeX 2024, for example, might have

00:54:08.314 --> 00:54:10.837
support for multiple fallback fonts?

00:54:13.040 --> 00:54:16.445
[Pedro]: That should be starting 2020.

00:54:16.485 --> 00:54:26.378
[Sacha]: Okay. So it's just in the Org side

00:54:26.498 --> 00:54:29.182
where you might say main, this font is just Free

00:54:29.202 --> 00:54:32.586
Serif, and not Free Serif, something, something.

00:54:33.022 --> 00:54:37.770
[Pedro]: Yeah exactly all right because...

00:54:37.771 --> 00:54:40.235
[Sacha]: I do actually use custom fonts. When I export my

00:54:40.295 --> 00:54:42.760
configuration, I want to use my handwriting for

00:54:42.840 --> 00:54:45.465
the titles, but of course nobody else is going

00:54:45.485 --> 00:54:47.508
to have my handwriting... I mean, it's

00:54:47.548 --> 00:54:49.392
public but people are not going to go to the

00:54:49.412 --> 00:54:52.337
trouble of downloading it, so yes, it would be nice

00:54:52.377 --> 00:54:55.142
to have that fallback. Not that I'm saying, "Please

00:54:55.162 --> 00:54:56.785
get on your donkey and go in that direction..."

00:54:58.233 --> 00:55:01.397
[Pedro]: No, of course not. But in this case,

00:55:01.817 --> 00:55:05.682
good news for you, if you have this as a ttf or as

00:55:05.742 --> 00:55:10.587
an otf font, then you can include that as your

00:55:10.627 --> 00:55:14.492
main font, and the PDF that you post at the end

00:55:15.413 --> 00:55:19.157
will have that already embedded, so you can

00:55:19.378 --> 00:55:21.540
produce your PDFs with your fonts.

00:55:21.858 --> 00:55:24.843
The thing is, if you want to share the font, if

00:55:24.863 --> 00:55:27.688
you want to share the source and then have other

00:55:27.728 --> 00:55:30.633
people compile it, then you have to tell them to

00:55:30.693 --> 00:55:35.782
install the fonts that are missing.

00:55:36.523 --> 00:55:38.026
But I think that's something that happens always.

00:55:39.148 --> 00:55:40.871
You enter a company, they have their own fonts.

00:55:40.911 --> 00:55:43.195
The first thing that you have to do, if you don't

00:55:43.235 --> 00:55:48.918
get a pre-installed computer: download the fonts.

00:55:49.018 --> 00:55:51.061
If you want to produce documents for the company,

00:55:51.081 --> 00:55:53.084
you have to download the fonts and install them

00:55:53.124 --> 00:55:54.406
so that you can produce.

00:55:55.247 --> 00:55:56.949
You don't have a boss telling you, no,

00:55:56.989 --> 00:55:58.672
the fonts, the fonts, the fonts.

00:55:59.593 --> 00:56:01.375
[Prot]: It's part of the brand, of course, yeah.

00:56:01.716 --> 00:56:03.879
[Pedro]: Yeah, no, no, it's a very important part

00:56:03.919 --> 00:56:04.420
of the brand.

00:56:04.660 --> 00:56:08.926
[Sacha]: And of course, LaTeX is very good for

00:56:08.986 --> 00:56:11.710
controlling all these matters of presentation.

00:56:12.702 --> 00:56:15.549
[Pedro]: Exactly. I mean one of the things that I

00:56:15.910 --> 00:56:21.663
I like most... Once again, here I've tried a

00:56:22.385 --> 00:56:24.670
couple of times to have

00:56:25.696 --> 00:56:29.141
a movement in that direction, a bit more

00:56:29.241 --> 00:56:35.229
control of fonts within a LaTeX document or

00:56:35.350 --> 00:56:37.032
within an Org document.

NOTE Sans serif fonts are better for accessibility

00:56:38.714 --> 00:56:42.640
What you can do now is in LaTeX you can go and

00:56:42.700 --> 00:56:47.767
say no, the main font is SF family.

00:56:48.888 --> 00:56:51.152
That's the default font so that you have

00:56:51.212 --> 00:56:52.834
everything in some series.

00:56:53.017 --> 00:56:56.180
That's something that, by the way, enhances

00:56:56.561 --> 00:56:57.262
accessibility.

00:56:59.324 --> 00:57:03.268
Because there are some people who will just

00:57:03.869 --> 00:57:09.755
collapse with serif fonts and they need sans serif.

NOTE Wanting markup for sans serif

00:57:09.775 --> 00:57:12.518
The other thing, the step that I wanted to move

00:57:12.558 --> 00:57:15.641
forward is I want to highlight some words with

00:57:15.942 --> 00:57:17.083
Sans Serif.

00:57:17.148 --> 00:57:21.393
Instead of bold or with the emphasis with the

00:57:21.453 --> 00:57:26.298
italics and so on, why not make some words stand

00:57:26.399 --> 00:57:27.960
out with sans serif?

00:57:28.381 --> 00:57:30.804
That's something that I also discussed in the

00:57:30.844 --> 00:57:32.826
Org list and no one wanted that.

00:57:34.308 --> 00:57:37.131
That's a pity.

00:57:38.232 --> 00:57:40.314
[Prot]: Because it might introduce new markup, of

00:57:40.375 --> 00:57:40.635
course.

00:57:41.055 --> 00:57:46.281
[Pedro]: Yes. I would need just one more markup.

00:57:46.301 --> 00:57:48.535
And I was like, "Another one, please?" "No."

00:57:50.217 --> 00:57:50.657
[Sacha]: I see.

00:57:52.379 --> 00:57:54.402
I've been just overriding the standard one

00:57:54.422 --> 00:57:57.305
because, for example, I won't actually underline things.

00:57:57.846 --> 00:58:00.930
So I just change my underline to be something else.

00:58:00.950 --> 00:58:03.313
But of course, as a general practice, it's not

00:58:03.353 --> 00:58:04.995
going to be that useful.

00:58:05.436 --> 00:58:07.438
You only have so many emphasis characters.

00:58:08.532 --> 00:58:09.474
[Pedro]: Yeah, no, of course.

00:58:09.554 --> 00:58:12.900
But if you don't want to underline another thing

00:58:12.920 --> 00:58:17.809
that many people find disturbing or really

00:58:17.869 --> 00:58:21.756
challenging, this is why I'm saying, let's try to

00:58:21.816 --> 00:58:24.962
also have the possibility of having a specific

00:58:25.022 --> 00:58:27.486
markup just for Sans Serif for that.

00:58:30.284 --> 00:58:32.667
It's all accessibility.

00:58:33.307 --> 00:58:38.053
I'm quite, how can I say, I'm very sensible to

00:58:38.113 --> 00:58:38.853
this kind of things.

00:58:39.995 --> 00:58:41.656
I'm very sensitive to this kind of things.

00:58:44.179 --> 00:58:48.344
Mainly because I've been from very, very young,

00:58:48.644 --> 00:58:56.713
I've been very involved in the disability world.

00:58:57.436 --> 00:59:00.421
[Sacha]: I'm looking forward to hearing more

00:59:00.461 --> 00:59:05.008
about your accessibility improvements in December

00:59:05.188 --> 00:59:06.490
at EmacsConf.

00:59:08.053 --> 00:59:09.956
Thank you so much for working on this.

00:59:11.518 --> 00:59:12.480
[Pedro]: You're welcome.

00:59:12.500 --> 00:59:16.947
Thank you, yes.

00:59:17.433 --> 00:59:21.685
[Sacha]: You showed us Unicode, you showed us

00:59:21.785 --> 00:59:24.894
emojis, you showed us theoretically how you would

00:59:25.356 --> 00:59:28.625
do it for non-Latin character sets.

00:59:29.146 --> 00:59:31.172
It will all be wonderfully documented.

00:59:31.490 --> 00:59:34.535
And it is now in Org Devel, right?

00:59:35.156 --> 00:59:37.399
[Pedro]: It's in Org Main.

00:59:38.220 --> 00:59:38.701
[Sacha]: Oh, sorry, yes.

00:59:38.801 --> 00:59:39.242
Org Main.

00:59:39.262 --> 00:59:40.924
So it'll make it into its release.

00:59:41.946 --> 00:59:44.670
I'm looking forward to seeing all of that.

00:59:45.351 --> 00:59:52.142
[Pedro]: It should be like Org 10 when it comes into being.

00:59:52.162 --> 00:59:56.128
People will still need to download stuff and

00:59:56.548 --> 00:59:58.932
compile it on their own.

00:59:58.912 --> 01:00:01.514
That's the main problem.

01:00:01.814 --> 01:00:04.116
That's the only thing that I would like to see

01:00:04.156 --> 01:00:06.659
advance at some point.

01:00:07.119 --> 01:00:09.340
But maybe that's with the next Emacs,

01:00:09.341 --> 01:00:10.182
with Emacs 32.

01:00:11.082 --> 01:00:12.203
[Sacha]: Okay.

01:00:12.604 --> 01:00:14.365
Looking forward to seeing how that works out.

01:00:14.445 --> 01:00:16.587
If people are curious, they can find you on the

01:00:16.687 --> 01:00:19.449
Org Mode mailing list and volunteer to be guinea

01:00:19.469 --> 01:00:20.871
pigs for various things.

01:00:21.671 --> 01:00:24.073
Your code is already in main, so it's easy enough

01:00:24.113 --> 01:00:24.834
to try out.

01:00:25.474 --> 01:00:27.596
And thank you very much for sharing the

01:00:27.636 --> 01:00:28.497
demonstration today.

01:00:29.877 --> 01:00:30.678
[Pedro]: Okay, fine.

01:00:30.898 --> 01:00:31.679
Thank you very much.

01:00:32.100 --> 01:00:33.862
Just one small comment.

NOTE Contacting Pedro

01:00:33.922 --> 01:00:38.668
I'm also maintaining LaTeX and Beamer in Org.

01:00:38.688 --> 01:00:42.453
So any bugs, any questions, anything through the

01:00:42.493 --> 01:00:46.038
mailing list and I'll try to answer as soon as

01:00:46.078 --> 01:00:49.122
possible.

01:00:49.142 --> 01:00:50.443
[Sacha]: I will end the stream there so people

01:00:50.483 --> 01:00:52.486
have an hour of wonderful stuff to listen to.

01:00:52.726 --> 01:00:54.028
Thanks everyone for joining.

01:00:55.358 --> 01:00:56.767
[Pedro]: Thank you.

01:00:56.768 --> 01:00:58.205
[Prot]: Thank you.
