freenode/#clim - IRC Chatlog
Search
6:25:13
beach
loke: You know a lot about Truetype fonts, right? I am trying to understand how to control the scaling and rendering process, in that I am trying to influence how glyphs are positioned in the pixel grid.
6:25:17
beach
I tried to draw some text using fractional coordinates, but the rendering looks the same as if I use integral coordinates, which I take to mean that the rendering is cached, and the coordinates are rounded.
6:25:27
beach
So for example, I would like to figure out how to take the oval shape representing a notehead, and make sure that the left and right edges are aligned with the pixel grid, presumably using perhaps a combination of scaling parameters (size and relative position) and drawing parameters (fractional coordinates).
6:25:28
beach
I can settle for scaling and relative position parameters and always use integer coordinates for drawing.
6:26:06
beach
I said "loke" but answers from anyone else having more information would be appreciated of course.
6:28:08
beach
I suppose this subject is related to "hinting", which I feel a bit queasy about, because whenever it is discussed, an environment with a static programming language, so they use a bytecode interpreted language for hinting.
6:58:21
beach
But I still need to understand how the rendering changes as a function of the :SIZE argument to MAKE-TRUETYPE-DEVICE-FONT-NAME.
6:59:44
beach
Clovetree will be much simpler than Gsharp in terms of rendering, because we now have anti-aliasing, Bezier curves, etc.
8:26:20
beach
Maybe the Fontforge manual will tell me what I need to know. I am actually playing around with Fontforge right now. It's kind of fun.
10:25:44
jackdaniel
general question about tracking-pointer: assume we have nested presentations: `board' and `field', when the context type is (or board field) and we move mouse over field (which is nested in board)
10:26:22
jackdaniel
:presentation clause should: a) be called only on the innermost presentation; b) should be called on all presentations (in which order) which are under the pointer and match the context type
10:35:55
jackdaniel
ck_: you've mentioned that :finish-on-release nil is not very useful, after some thought put into it I think I disagree
10:36:33
jackdaniel
while for two objects (drag A->B) finish-on-release makes more sense the alternative is better for dragging A->B->C->D
10:38:03
jackdaniel
while we do not support dnd-translators accepting more than one destination object I can imagine such translator
10:40:29
jackdaniel
also tester function for dnd tranaslator is pretty much useless for some cases without using climi::*dragged-object* undocumented variable
10:40:59
jackdaniel
because object is is bound to a dragged object and to destination object depending on pointer position
10:42:19
jackdaniel
probably we should fix it by having extended arglist for it (it begs for a macro where tester and translator have the same arglist)
10:45:23
scymtym
jackdaniel: i remember added a similar extension for a certain drag-and-drop operation in clouseau that i couldn't implement without it. let me see if i can find it
10:48:55
scymtym
probably this: https://github.com/scymtym/McCLIM/commit/07632fb7664a3fde874dd186e6883e951c07e73e
10:52:58
frgo
jackdaniel: I am using clx from sharplispers. T did not explicitly load any other package.
10:56:47
jackdaniel
scymtym: from a consistency point of view tester should be called with object bound to a dragged object (and presentation) and there should be extra arguments destination-object and destination-presentation (like for dnd-translator body)
10:57:30
scymtym
jackdaniel: sure. i'm not attached to particular names as long as the information is available
11:03:27
jackdaniel
this is certainly error from McCLIM (not CLX), for some reason it picks up x11 fonts (instead of ttf ones)
11:05:38
jackdaniel
frgo: in file Extensions/fonts/xrender-fonts.lisp function climb:text-style-to-font remove (call-next-method) to error right away and try again with that
11:08:14
scymtym
could this be another instance of https://github.com/McCLIM/McCLIM/issues/705 ? in that case, installing the font as described in the issue is a workaround