## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
• Create your own community
##### Activity
• Oct 18 06:42
vitejose starred sile-typesetter/sile
• Oct 16 15:45
connectthefuture starred sile-typesetter/sile
• Oct 15 17:09
ron-wolf starred sile-typesetter/sile
• Oct 13 08:02
6david9 starred sile-typesetter/sile
• Oct 11 19:34
• Oct 11 16:25
bennyboer starred sile-typesetter/sile
• Oct 09 14:39
lukaswrz starred sile-typesetter/sile
• Oct 08 12:19
alerque closed #1261
• Oct 08 12:19
alerque commented #1261
• Oct 08 12:11
alerque labeled #1261
• Oct 08 12:11
alerque unlabeled #1261
• Oct 08 09:26
simoncozens commented #1261
• Oct 08 09:25
simoncozens commented #1261
• Oct 08 08:11
alerque commented #1261
• Oct 08 07:37
alerque commented #1261
• Oct 08 07:31
alerque labeled #1261
• Oct 08 06:33
McSinyx commented #75
• Oct 08 06:31
McSinyx opened #1261
• Oct 07 15:32

alerque on master

feat(core): Add OpenType post (… feat(packages): Use font's post… test(packages): Tests for deter… and 1 more (compare)

• Oct 07 15:32

alerque on underline-position

Olivier Nicole
@OlivierNicole
Yes, I'm trying to put together a MWE to report a bug in libtexpdf that prevents me to make italic correction work, in fact.
(in math typesetting)
But regarding what you just said, Knuth's TeXbook says that you can always use the \/ command to insert an italic correction manually (e.g. (I like my {\it cat}\/)), and I was just curious as to where that length setting came from.
Olivier Nicole
@OlivierNicole

@simoncozens

These (device table, coverage table) are general OpenType subtables and should be hoisted up to top level so they can be used by other routines.

Do you happen to have any pointers about the low-level encoding of these tables? Looks like Rui’s code does not support all possible encodings.

Olivier Nicole
@OlivierNicole
(Update: nvm, read the spec)
Simon Cozens
@simoncozens
Should we expect dockercloud/azure tests to work?
Caleb Maclennan
@alerque
@simoncozens Docker yes, Azure no.
The CI tests that we expect to pass are marked as required.
Docker keeps breaking because of upstream Docker Hub issues, they have archaic host kernels on some of their infrastructure and using anything built with new glibc is proving problematic. I fixed it last week, it broke again, I fixed it again last night. But yes Docker builds should work.
The one I'm not sure on right now is actually Darwin. FreeBSD is good, but I might have broken Darwin in the process and we don't have CI for that.
Caleb Maclennan
@alerque
alerque
@alerque:matrix.org
[m]
Ping (from myself via Matrix using Element).
Simon Cozens
@simoncozens
I don't know what it is but apparently it's made of blockchain.
Caleb Maclennan
@alerque
Turtles all the way down. The sudden ugly demise of Freenode has every channel I lurk in flying for the hills, half to Libera and half to Matrix it seems. Apparently Gitter now speaks 100% native Matrix. Along with nice bridging to anything else it's really quite attractive these days. Much better than a few years ago when I looked at it last.
Caleb Maclennan
@alerque
@simoncozens You around here?
Caleb Maclennan
@alerque
Attention any Arch Linux users (or any would-be benefactors): With my new TU privileges everything else is in place to get SILE upstreamed into the default [community] repository, but we need 3 more votes on the AUR package before I‌ can proceed.
Caleb Maclennan
@alerque
The pushBack() function needs to die die die die die.
Gah so much chaos.
Caleb Maclennan
@alerque
@simoncozens I've tried to refactor pushBack() so many times now I can't even count. I know it's broken but every bug I squash introduces 2 more. I'm beginning to thing the entire content iteration system needs to be replaced with a in (semi) immutable pre-processed AST representing the input (split down to the hyphenation points level) plus a shaped/processed queue that we render from. As we iterate through the queue we can tick off where we are in the unprocessed AST. When we need to backtrack for frame breaks (or anywhere pushBack is currently used) we can just ditch both the vbox and node queues and start over from wherever the last
Caleb Maclennan
@alerque
SILE is now in the official Arch Linux repos.
Caleb Maclennan
@alerque
Olivier Nicole
@OlivierNicole
I won't be super available to work on the math stuff these days. I've been trying to work on a showcase though, but was unable to compile the latest master
When running ./bootstrap then ./configure --prefix=/home/olivier/prog/sile/master.local_install --with-system-luarocks, I get
checking for required Lua library cassowary... found
checking for required Lua library cosmo... not found
configure: error: cannot find Lua library cosmo - install from luarocks package cosmo
Although I did install cosmo, along with the rest, by doing luarocks install --deps-only sile-dev-1.rockspec.
Caleb Maclennan
@alerque
@OlivierNicole If you are on Arch just use an AUR helper such as paru -S sile-git.
You can to it your way too, but if you use --with-system-luarocks you have to have all of thm on the system, you can't do some via luarocks and some via the system. Cassowary and Cosmo are both available in Arch official packages in [community].
Personally I use devel stuff one of two ways. If it is on master already, I use the sile-git package. If it is in a branch or I'm testing it, I just use it inside the Git source tree without installing it anywhere on my system. You can do this by configuring this way:
Caleb Maclennan
@alerque
$./configure --datarootdir=$(cd ..;pwd) --without-system-luarocks --without-manual --without-examples
$make$ cd <your project>
\$ path/to/sile/checkout/sile <your_source_file>
Olivier Nicole
@OlivierNicole
Thank you for the advice! The "using SILE inside the source tree without installing" method works well for me.
Caleb Maclennan
@alerque
No problem. That could probably be better documented for developers / contributors / people hacking on SILE. It is not very discoverable and most people don't know automake well enough to just know most apps work that way.
Where would you expect to find it?
Olivier Nicole
@OlivierNicole
Yeah I have never studied automake and it's dark magic to me.
Probably in a Contributing section of the readme, or a CONTRIBUTING file if you don't think it belongs in the readme.
Olivier Nicole
@OlivierNicole
@alerque I received your invitation to the sile-typesetter organization on Github. I am flattered, but may I ask what it implies?
I want to stress that I cannot guarantee that I'll work on SILE regularly. My involvement varies with the amount of free time I have and with my motivation.
Caleb Maclennan
@alerque
No responsibilities, only access to tools if/when you find the time.
It means you'll be notified / tagged for review if PRs touch code you've been the primary contributor on, but neither Simon nor I have any expectation that you'll do anything at all above and beyond whatever you feel like and have time for.
The GitHub tooling just works better if more people have access to more buttons.
You can even pick from the org membership page whether you are listed publicly as part of the org or not.
Olivier Nicole
@OlivierNicole
Okay, great then!
Simon Cozens
@simoncozens
I've been working on a little Rust library to do linebreaking. I managed to hook it up to Lua using lua_rust_ffi, but that only applies to luajit. Shame, because the lua_rust_ffi library is very easy to use.
Olivier Nicole
@OlivierNicole
I'm surprised by the fact that it only works with luajit, because the interfacing between C and Lua, regardless of the backend, seems to work well. And isn't an FFI to C more or less an FFI to Rust?
Simon Cozens
@simoncozens
luajit has an ffi library, standard lua does not.
There's apparently a ffi implementation for standard Lua, which got unmaintained and so Facebook forked it and then Facebook moved to Python so now it's unmaintained again.
I do sometimes feel I may have chosen the wrong programming language for this project. :-)
Simon Cozens
@simoncozens
The original idea - lots of luatex people speak both Lua and typography so should be able to help out - never happened since they were all happy playing with luatex.
Olivier Nicole
@OlivierNicole
Even though Lua is not my favorite language, and though it can sometimes be quite slow, I am still quite convinced that its dynamic nature is a plus, by allowing people to quite easily hack with the typesetter internals from their own code. Or at least that's the theory? I've never really done that.
I'm confused. SILE makes calls to the Harfbuzz C library, so that kind of things is possible in standard Lua, right?
Simon Cozens
@simoncozens
Yeah, it's just that you would need to write the wrapping code by hand. I'm sure it's possible, but lua_rust_ffi does that automatically.
Olivier Nicole
@OlivierNicole
I see.