--
You received this message because you are subscribed to the Google Groups "Google Fonts Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to googlefonts-discuss+unsub...@googlegroups.com.
To post to this group, send email to googlefonts-discuss@googlegroups.com.
Visit this group at https://groups.google.com/group/googlefonts-discuss.
To view this discussion on the web visit https://groups.google.com/d/msgid/googlefonts-discuss/20170530104838.GC24994%40macbook.
For more options, visit https://groups.google.com/d/optout.
The way things work right now, unfortunately, leads to the glyphs not changing on-canvas because once they are loaded, they seem to be kept in a cache. As you can see in the screenshot, each glyph has a different weigth, based on the slider setting when the glyph was loaded for the first time. It seems quite obvious that I should do something to invalidate the cache upon dragging the slider. But that, on the other hand, should not alter glyphs in other places where the same variable font is being used in the same document.Hi there,(I really miss a Freetype method to alter a single design-space coordinate, instead of having to pass the full array, by the way)
These past days I've been adding an experimental UI to Inkscape for tweaking parameters in OpenType variable fonts. One major roadblock I stumbled upon is requiring me to think more carefully about some potentially deeper architectural changes. In the screenshot attached to this message you can see some text written with the Decovar variable font. The slider labeled "Testing" in the "Text & Font" dialog is wired to invoke a callback upon value-change. This callback detects the currently selected font based on the canvas text-tool cursor position, retrieves the corresponding font_instance object and invokes Freetype's FT_Set_Var_Design_Coordinates method with the updated design-space coordinates (the slider in this experiment is hardwired to adjust the weight axis of Decovar).Based on all that, I think that the proper implementation would involve creating individual font_instance objects for each text chunk where a variable-font is used with non-default design-space coordinates so that they can be tweaked independently. Achieving that, though, will surely involve a bit deeper fiddling with Inkscape's text internals, which is what I expect to do in my next few days of work on this.cheers,Felipe SanchesPS:I'm crossposting this to the Inkscape-devel mailing list as the rest of the development community may be interested in receiving updates on this topic. I may as well move all future updates to the Inkscape mailing list directly.
PS2: I heard that there's a GSoC student this year who's going to work on Inkscape's text implementation (fixing compliance issues to the SVG spec, I think...) It would be really great to keep in contact with him/her and the mentor to coordinate efforts.
2017-05-30 7:48 GMT-03:00 Khaled Hosny <khale...@eglug.org>:
On Tue, May 30, 2017 at 12:35:24AM -0300, Felipe Sanches wrote:
> The relationship between pango and harfbuzz is still not very clear to me,
> as I have the impression that even pango_shape() invokes hb_shape() under
> the hood nowadays.
It will eventually call HarfBuzz on Linux, but in Windows and Mac it
will call Uniscribe and Core Text, respectively. Switching to HarfBuzz
on all platforms is kinda on Pango’s TODO list, but I don’t think anyone
is working on it currently.
--
You received this message because you are subscribed to the Google Groups "Google Fonts Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to googlefonts-discuss+unsubscribe...@googlegroups.com.
By the way... once I make the class handle multiple axis coordinates it would be reasonable for me to rename it from SPIVariableFontAxisOrNormal to SPIFontVariationSettings
To unsubscribe from this group and stop receiving emails from it, send an email to googlefonts-discuss+unsub...@googlegroups.com.
To post to this group, send email to googlefon...@googlegroups.com.
There may be occasions when the user may want to modify the design-space coordinates of a given variable font globally on the document. Do you think this is a valid concern / valid usage scenario ?
In that case, a variable font instance may behave like a shared resource, analogous to a shared gradient or filter-effect. But then we would need to make this an explicit user-choice, perhaps by providing a dedicated dialog for setting up such shared font resources. Like a "palette of font instances". Does it make sense ?
--
You received this message because you are subscribed to the Google Groups "Google Fonts Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to googlefonts-discuss+unsub...@googlegroups.com.
To post to this group, send email to googlefonts-discuss@googlegroups.com.
Visit this group at https://groups.google.com/group/googlefonts-discuss.
To view this discussion on the web visit https://groups.google.com/d/msgid/googlefonts-discuss/CAEozd0yg2SeYO00d9Mq7pETmPQMFJ8n30B6sg-fpbhofBqW9Ng%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Google Fonts Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to googlefonts-discuss+unsub...@googlegroups.com.
To post to this group, send email to googlefonts-discuss@googlegroups.com.
Visit this group at https://groups.google.com/group/googlefonts-discuss.
To view this discussion on the web visit https://groups.google.com/d/msgid/googlefonts-discuss/89f8f75b-071b-4c26-85f5-5232780a9d0d%40googlegroups.com.
On Tue, 2018-03-06 at 13:19 -0300, Felipe Sanches wrote:
> I left this aside for the past 6 months and recently got back to
> looking at it.
>
> I think the most trivial thing would be to populate the font-styles
> combo-box with named instances. This would be almost not perceptible
> by the users, but would enable variable fonts' instances to show up
> there just like their non-variable counterparts do.
That would be good if that information can be extracted from the font.
Speaking of which, I wonder if the OpenType 'fvar' table can be easily
extracted (which contains the ranges for the axes).
> Then there's the customization aspect of varfonts. For that, I think
> the bare minimum would be a bunch of sliders for selecting the
> coordinates of each variation axis. I feel that there must be
> something better than that form a user experience perspective, but
> I'm still not sure what would that be, so I'd leave it for a second
> iteration of the UI.
Sounds good. The sliders would then fill in the 'font-variation-
settings' property:
https://www.w3.org/TR/css-fonts-4/#font-variation-settings-def
> Also, since one can get a multitude of combinations within the
> designspace, I think it could be practical to adopt a UI workflow
> similar to that of color gradients, in which once a user-defined
> instance is applied to a text chunk, that instance is added to a pool
> of var font instances that can be reused in other chunks of texto
> within the document. A shared varfont would then, upon tweaking of
> its design space coordiantes, affect all portions of the document
> where it was used.
This would probably require a pop-up dialog to edit (or duplicate) an
entry in the font-style drop-down menu. We'll need to set up signals so
that all text/tspan elements are updated whenever an entry is modified.
> Finally, and this is not a varfont specific issue, I feel the urge to
> improve the basic text support in Inkscape in general. Yes, I know
> this is a somewhat vague statement. The overall direction I'd like to
> follow, though, would likely be something similar to the insightful
> ideas that are expressed in this article:
This might be something for GTK as more than just Inkscape could use
such a dialog.
GTK 3 does have a font-family dialog that we do not use
at the moment:
https://developer.gnome.org/gtk3/stable/GtkFontChooserDialog.html
> https://medium.com/@getflourish/the-anatomy-of-a-thousand-typefaces-
> f7b9088eed1
Tav
> cheers,
> Felipe Sanches
FreeType/FontConfig/Cairo/Pango stack has more or less full variable
fonts support now, Inkscape needs to be updated to make use of the
support already available in all these libraries.
https://blogs.gnome.org/mclasen/2018/01/03/more-fun-with-fonts/