freenode/#clim - IRC Chatlog
Search
6:23:48
loke
The problem is that if you have a sequence of characters, abcdef (where the letters represrnts unicode codepoints), you may have abc representing one symbol, d representing another etc... Also, if you have two symbols ab, then in some writing systems the sape of b depends on what character a is.
6:26:16
loke
A grapheme cluster is basically the thing that sits in a single "box" in an editor when you're eidting monospace text
6:28:01
loke
You always map multiple code points to a visual element. That's what is called a grapheme cluster. Then there is anothe rlayer of replacement happening at font shaping time.
6:29:06
beach
I am saying that you might want separate display modules for the same contents, and one of them might be that you just want to display each code point separately, so that it is obvious what the contents of the buffer is.
6:29:47
beach
With Cluffer, each display module must contain a copy of the buffer contents (as it was when the display module asked for it) anyway.
6:29:47
loke
Actually, that's what I'm doing. We might actually be talking about the same thing, but referring to diffeenrt layers.
6:33:33
loke
Anyway, this is just an experimental project, so I am goin o ignore nay issues with lines linger than, say, 1000 character.
15:11:35
ck_
beach: how does it fail? I think the best course is to check whether *truetype-font-path* contains some of the fonts it needs first.
15:19:05
beach
It fails with a condition being signaled, and the condition reporter said: McCLIM was unable to configure itself automatically using fontconfig. Therefore you must configure it manually.
15:22:53
loke
beach: By the way, I just realised that I can't actually cache the fline height in the LINE instance... Because the you can have the same buffer showing in mltiple panes, each with a different font. So the cache has to be linked to the frame, not the buffer
15:23:59
beach
Component #:CL-FREETYPE2 not found, required by #<SYSTEM "mcclim-fonts/clx-freetype">
15:35:17
ck_
beach: then I don't understand what the problem is, sorry. When I encountered that problem (when I first ran mcclim), I saw the same warning, spawned by warn-about-unset-font-path in extensions/fonts/fontconfig.lisp
15:39:08
loke
Then I have no idea. Might be something with asdf. Never heard abou anyone having that problem, but then again, I think almost everybody uses QL
15:39:55
loke
Of course, but it's the discussion we've had previously. There simply isn't any pure Lisp alternative to Fontconfig, Freetype or Harfbuzz.
15:42:08
beach
What I really want to do is to configure the font stuff manually, as per the first message.
15:45:04
ck_
I believe that you set mcclim-truetype:*families/faces* to a plist of entries like ((:serif :roman) . #P"/Path/to/A Roman Font.ttf")
15:45:19
jackdaniel
loke: our implementation *is* such alternative in pure lisp. you may point many disadvantages (i.e shaping), but it doesn't make it a "nonalternative" -- especually that nomen omen mostly used language is Engliah
15:47:31
scymtym
jackdaniel: i made (on irc) a few comments regarding the question on the mailing list. should be in the logs
15:47:32
loke
jackdaniel: Well, we've discussed this in the past, and I if I recall correctly we're not actually disagreeing on the facts. We simply have different opinions as to what a valid alternative actually means.
15:48:51
loke
Given the context, I thought it was obvious that I meant “Lisp alternative to opentype support/Shaping/integration with the platform font management”
15:54:00
beach
If so, how would I create a PRESENT presentation method to change the way my header objects are shown? What would be the type, the view, etc.?
16:00:15
scymtym
beach: that would be (defmethod inspect-object-using-state ((object YOUR-CLASS) (state inspected-instance (or CUSTOM-STATE-CLASS)) (style (eql :collapsed)) (stream extended-output-stream)) …)
16:00:29
scymtym
and (defmethod inspect-object-using-state ((object YOUR-CLASS) (state INSPECTED-INSTANCE-OR-CUSTOM-CLASS) (style (eql :badges)) (stream extended-output-stream)) …) for adding badges
16:04:21
scymtym
well, in the expanded header. sorry, i confused :collapsed and :expanded-header above
16:06:03
admich
trying to solve issue 854 I have found the generic CLIMB:TEXT-STYLE-TO-FONT. What is the difference between this and the generic TEXT-STYLE-MAPPING that is in the CLIM spec? Seems to me that they have the same goal.
16:07:21
beach
scymtym: Check the direct-subclasses slot in: http://metamodular.com/inspect-boot.png
16:08:26
beach
scymtym: But the direct-slots slot also has HEADERs. They are inspected, so my methods are used.
16:09:37
scymtym
beach: i see. direct-subclasses is just the :collapsed representation of the list which PRINTS list elements, direct-slots uses the :expanded representation of the list which presents elements using Clouseau's machinery
16:10:41
scymtym
admich: jackdaniel is probably best qualified to answer this question, but as i understand it, he has limited bandwidth for irc discussion at the moment
16:12:48
scymtym
beach: i see two possible solutions: 1) print :collapsed lists using a custom printer that does all the work and presents list elements using Clouseau's machinery 2) print :collapsed lists using a pprint dispatch that delegates to Clouseau's machinery
16:14:15
beach
scymtym: Thanks. I'll contemplate those possibilities. Like I said, it is not essential so I am not in a rush.
16:16:07
scymtym
beach: i could also work on this. the only downside i see is the inconsistency it introduces: expanding something normally doesn't cause its children to be expanded