Search
Tuesday, 24th of April 2018, 19:28:40 UTC
4:58:43
beach
Good morning everyone!
6:06:15
loke
I need some maths help
6:06:58
loke
This is what I get, and I think this is becasue Freetype uses a y-up coordinate system for its trnsformation matrix while clim uses y-down:
6:07:03
loke
https://photos.app.goo.gl/TxUzIfUVJfXm3Ymv1
6:07:40
loke
Is there some transformation I can apply on the matrix to get the character rotation right?
6:19:35
loke
Ah got it. All I needed to do was to transpose the amtix.
6:30:10
beach
Oh, good. Sorry, was away preparing for lunch with my favorite coauthor.
6:31:27
beach
So the text is supposed to go in the direction it shows, but the characters are rotated the wrong way?
6:33:20
beach
You should be able to compose the rotation transformation with some transformation that flips the y coordinate.
6:33:40
beach
Then you have to think about which order to compose them.
6:41:16
loke
beach: Yeah, I figured it out. A simple transpose was all I needed.
6:41:43
beach
With a negative transpose value?
6:43:16
beach
So I mean, you probably shouldn't assume you have a matrix.
6:43:39
beach
So you should probably compose the rotation transformation with some other transformation.
6:43:56
beach
Perhaps a reflection transformation.
6:44:26
beach
http://bauhh.dyndns.org:8000/clim-spec/5-2.html#_187
6:45:05
loke
https://photos.app.goo.gl/9mdOf0hr3kOOhUBh2
6:46:15
loke
As you can see, text-size measurements gets slightly confused when you mix RTL and LTR text in a single string.
6:47:13
loke
Oh wait... that's actually correct. There is a space rendered to the far left... That space is actually locaed between CLIM and the arabic text, but it's been interpreted as coming after the LTR run
6:47:31
loke
The problem must be in the function that splits text into runs.
6:50:18
loke
531 lines of painfully written code :-)
6:51:04
beach
Yes, well, programming is sometimes a somewhat masochistic activity.
6:51:52
loke
The funny thing is that I feel like Knuth in a way... He too went down a rabbit hole when all he wanted to do was to render maths. :-)
6:52:20
loke
All of this, freetype, harfbuzz, fontconfig, transofrmations, xrender, blah blah, is because I want my Climaxima to render pretty maths :-)
6:52:27
beach
I see what you mean. I did that for Gsharp, i.e. rendering classic music notation.
6:53:36
loke
beach: By the way... Should an output record remember the transformation that was in effect when it was, well, recorded?
6:55:02
beach
http://bauhh.dyndns.org:8000/clim-spec/16-1.html#_830
6:55:17
beach
The effect of the specified "user" transformation (composed with the medium transformation) must be captured;
7:01:53
loke
It doesn't seem to be for text
7:02:06
loke
Perhaps no one noticed it before since text never obeyed the transofmrations
7:15:23
slyrus_
you want climaxima to render pretty maths and I want some sort of next-gen scigraph that looks more like ggplot2 (in R-land).
7:15:55
slyrus_
(morning, technically, I suppose)
7:22:37
loke
slyrus: A plotting system will of course be part of Climaxima.
7:27:14
loke
slyrus: Do you want to help with the plotting code? :-)
Wednesday, 25th of April 2018, 7:28:40 UTC