Caleb Maclennan alerque Ouray, Colorado Recipient of eternal grace, husband to one, student of the Word, ambassador of Christ, tentative wordsmith, dabbler in languages, wrangler of code, typographer.

And infinite scrolling content pane for the dojo toolkit

Package sources for all the AUR packages I maintain, co-maintain, or host.

Bible on Android

Userscript to generate markdown from Biblegateway.com (primarily for Christianity.SE)

Core models and APIs for accessing scriptural linked data.

Coffeescript to identify and understand Bible references like "John 3:16."

A web-based LDAP user management system

Check syntax (linting) and fix files asynchronously, with Language Server Protocol (LSP) integration in Vim

A Bible verse spinner widget for Dojo/Dijit. Originally for use on http://incil.info

issue commentvim-pandoc/vim-pandoc-syntax

Being able to use vimtex's syntax highlighting would be really helpful. Is there an easy way to do this manually?

dzackgarza

comment created time in a few seconds

issue commentjgm/pandoc

The same ERROR appears with lualatex(This is LuaHBTeX, Version 1.12.0 (TeX Live 2020/Arch Linux)).

Loading amssymb fix the ERROR.

nuntius35

comment created time in 14 minutes

push eventlinebender/druid

commit sha feb602c9da81ac4781e88f5076ed2aa651953374

Cleanup formatter work This resolves a bunch of fixmes and loose ends

push time in 24 minutes

pull request commentfonttools/fonttools

Since I just noticed it, in the <STAT> table XML serialization the <DesignAxisRecord> has its own <Axis> with an index attribute. So it would at least be consistent to instead give the <fvar> <Axis> an index attribute and then later have any axis attributes which refer to that axis specify it by an index. For backwards compatibility (and for interesting effect) any axis attribute which looks like a four byte tag could apply to all axes with that tag.

bungeman

comment created time in 31 minutes

push eventlinebender/druid

commit sha 67cd98c954064beea9189889a4f3cb91eb79742a

Cleanup formatter work This resolves a bunch of fixmes and loose ends

push time in 35 minutes

issue commentklpn/accpdf

Great, I will look at that example. And thanks again for the quick responses, I really appreciate it.

kellijohnson-NOAA

comment created time in 39 minutes

issue commentklpn/accpdf

The construction of Pandoc Lua filters is described in the Pandoc documentation. One way might be to write a RawBlock function which identifies the relevant LaTeX commands for tables, like in the TikZ example on the page, and then do some substitutions inside the block to insert tagging commands.

kellijohnson-NOAA

comment created time in an hour

issue openedezra-project/ezra-project

created time in an hour

issue commentvim-pandoc/vim-pandoc

I've tried this out with vim proper and with other plugin managers, all of which have the same issue. So I'm pretty sure it's an issue with vim-pandoc and ftdetect. But my playing around with ftdetect hasn't produced anything useful. The fact that this doesn't seem to happen to others leaves me even more stumped.

For the time being, I'm just commenting out the b:undo_ftplugin, as I don't need to switch filetypes often.

hgvhgv

comment created time in an hour

issue commentlinebender/runebender

My first instinct is to select a node and right-click on it looking for a context menu. It would be nice if “reverse contours” from the Paths menu was in the same section of the context menu as well.

eliheuer

comment created time in an hour

issue commentharfbuzz/harfbuzz

• [ ] Find out why commented-out aots tests are commented out, and fix them.

AOTS had made assumptions about unspecified parts of the spec. HarfBuzz sometimes makes different assumptions.

One particular difference also is that AOTS assumes shaping populates both x_advance and y_advance. In HarfBuzz we only populate one of those, depending on selected text direction.

simoncozens

comment created time in an hour

issue commentharfbuzz/harfbuzz

• [ ] Find out why commented-out aots tests are commented out, and fix them.
• [ ] Ensure we have adequate tests for all basic functionality (GSUB1-8 all formats, GPOS1-9 all formats).

Is really hard to test all aspects of those. When you get to marks, mark classes, mark attachments, ligation of marks, etc. Is completely unspecified, and what HB does is slightly different from Uniscribe in certain cases (by design).

• [ ] Ensure that each script-specific shaper has adequate tests. (e.g. there's currently no explicit Hebrew or Thai tests.)

Right. In test/shaping/texts there's a bunch of interesting text. The first plan was to have interesting text, and fonts, and test each font against a set of text that is applicable to it.

Then there was the mega test suite, shaping wordlist from Wikipedia per language (http://github.com/harfbuzz/harfbuzz-testing-wikipedia) against default font for such language on Windows, comparing to Uniscribe output, as described in: https://goo.gl/9eWCLy

But storing the expected output for that was so huge we never figured out how to do. @jfkthame was running that on Windows bots on the cloud, comparing the HB and Uniscribe outputs on the fly, and he built a portal for it.. but I don't think he runs that anymore.

simoncozens

comment created time in an hour

pull request commentHOST-Oman/libraqm

I do not have control over the compiler switches.

But not supporting C89 is a valid decision, closing.

nulano

comment created time in an hour

PR closed HOST-Oman/libraqm

Compiling with a non-C99 compliant compiler produces errors due to declarations of variables in for loops. This PR moves all such declarations to the beginning of the relevant functions. In some cases int was replaced with size_t to avoid renaming loop variables, but all underflow is correctly handled by the PR. This PR compiles correctly on a C89 compiler.

+74 -53

1 comment

1 changed file

nulano

pr closed time in an hour

pull request commentHOST-Oman/libraqm

The use of C99-style variable declaration is intentional. Please update your compiler or check fir switches to enable the 20-years old C standard.

nulano

comment created time in an hour

startedsimoncozens/pilcrow

started time in an hour

push eventharfbuzz/harfbuzz

commit sha 53806e5b83cee0e275eac038d0780f95ac56588c

Tiny improvement on previous commit Functionally the same.

push time in 2 hours

PR opened HOST-Oman/libraqm

Compiling with a non-C99 compliant compiler produces errors due to declarations of variables in for loops. This PR moves all such declarations to the beginning of the relevant functions. In some cases int was replaced with size_t to avoid renaming loop variables, but all underflow is correctly handled by the PR. This PR compiles correctly on a C89 compiler.

+74 -53

0 comment

1 changed file

pr created time in 2 hours

push eventlinebender/druid

commit sha d0873fed3f56fbaf29be78c60e364d92e059a377

Add Formatter trait for validating & formatting text This is a mechanism for handling conversions back and forth between values and their textual representations. Its major use case is managing user input in text fields when the input is intended to represent some other value type. This patch includes the trait, a simple implementation based on FromStr (intended as a replacement for the Parse widget) and a new ValueTextBox widget that uses some Formatter to manage a TextBox. The behaviour of the ValueTextBox differs from the normal TextBox in one very important way; it does not attempt to update the data until editing has 'completed'. Editing is completed when the user presses <return> or attempts to navigate away from the textbox; the user can also manually cancel editing by pressing <esc>, which discards the edit. These interactions (especially the hard-wired key handling) feels a bit brittle, and I'd like to try and find a more systematic approach. This is still a draft; there are a number of rough edges, and other things I'm not totally happy with, including: - it uses String everywhere; I might prefer Arc<String> at least - there is no good mechanism for actually reporting errors back up the tree - the error type itself is a bit too fancy, and should be simplified - I'd like to add a general purpose NumberFormatter - I'd like to look into incorporating this into the existing TextBox, including the idea of 'on_completion' and 'on_cancel' handling. In any case, I'm happy with the progress here; at the very least this is a much more robust and flexible alternative to the current Parse widget. I have updated examples/parse.rs to show off some of what is possible with this API; that example should probably be renamed.

commit sha c33f74fae40a779af6770e337d581beefde790ba

Rename parse example -> validation, and make it a package. This had gotten well over 700 lines, and I think it makes sense to start trying to split examples like this up.

push time in 2 hours

startednyyManni/msdfgl

started time in 2 hours

pull request commentharfbuzz/harfbuzz

Thanks @drott. Can you add the tests from #2627? No idea about the bot change there...

drott

comment created time in 2 hours

push eventharfbuzz/harfbuzz

commit sha a5f6f869e80c371665026dfe9d156f0088f2553d

Drop layout table if layout lookup accelerator allocation failed If the table is kept, when the table is present but only the accelerator allocation failed, then we run into nullptr dereferences downstream in hb_ot_map_t::apply when trying to access proxy.accels[i]. To fix this, instead of only setting lookup_count of accelerator_t itself, drop the whole table to avoid hb-ot-map construction assuming that the lookups will work correctly despite accelerator allocation having failed. Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490

push time in 2 hours

PR merged harfbuzz/harfbuzz

Reviewers

If the table is kept, when the table is present but only the accelerator allocation failed, then we run into nullptr dereferences downstream in hb_ot_map_t::apply when trying to access proxy.accels[i].

To fix this, instead of only setting lookup_count of accelerator_t itself, drop the whole table to avoid hb-ot-map construction assuming that the lookups will work correctly despite accelerator allocation having failed.

Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24473

+4 -0

6 comments

1 changed file

drott

pr closed time in 2 hours

push eventbibledit/cloud

commit sha ea38967c8aa981c8677b9cc57aa665eb5d000e6d

cleanup https://github.com/bibledit/cloud/issues/439

push time in 2 hours

pull request commentgoogle/fonts

## Fontbakery report

Fontbakery version: 0.7.33

<details> <summary><b>[1] Family checks</b></summary> <details> <summary>⚠ <b>WARN:</b> Is the command ftxvalidator (Apple Font Tool Suite) available?</summary>

There's no reasonable (and legal) way to run the command ftxvalidator of the Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.

If Font Bakery is not running on an OSX machine, the machine running Font Bakery could access ftxvalidator on OSX, e.g. via ssh or a remote procedure call (rpc).

There's an ssh example implementation at: https://github.com/googlefonts/fontbakery/blob/master/prebuilt/workarounds /ftxvalidator/ssh-implementation/ftxvalidator

</pre>

• WARN Could not find ftxvalidator.

</details> <br> </details> <details> <summary><b>[3] Saira-Italic[wdth,wght].ttf</b></summary> <details> <summary>⚠ <b>WARN:</b> Checking OS/2 achVendID.</summary>

Microsoft keeps a list of font vendors and their respective contact info. This list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored in the achVendID field of the OS/2 table.

Registering your ID is not mandatory, but it is a good practice since some applications may display the type designer / type foundry contact info on some dialog and also because that info will be visible on Microsoft's website:

https://docs.microsoft.com/en-us/typography/vendors/

This check verifies whether or not a given font's vendor ID is registered in that list or if it has some of the default values used by the most common font editors.

Each new FontBakery release includes a cached copy of that list of vendor IDs. If you registered recently, you're safe to ignore warnings emitted by this check, since your ID will soon be included in one of our upcoming releases.

</pre>

• WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]

</details> <details> <summary>⚠ <b>WARN:</b> Is there kerning info for non-ligated sequences?</summary>

Fonts with ligatures should have kerning on the corresponding non-ligated sequences for text where ligatures aren't used (eg https://github.com/impallari/Raleway/issues/14).

</pre>

• WARN GPOS table lacks kerning info for the following non-ligated sequences:

• f + f
• f + i
• i + f
• f + l
• l + f
• i + l

[code: lacks-kern-info]

</details> <details> <summary>⚠ <b>WARN:</b> METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?</summary>

• com.google.fonts/check/metadata/designer_profiles

• WARN It seems that Hector Gatti is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]

</details> <br> </details> <details> <summary><b>[3] Saira[wdth,wght].ttf</b></summary> <details> <summary>⚠ <b>WARN:</b> Checking OS/2 achVendID.</summary>

Microsoft keeps a list of font vendors and their respective contact info. This list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored in the achVendID field of the OS/2 table.

Registering your ID is not mandatory, but it is a good practice since some applications may display the type designer / type foundry contact info on some dialog and also because that info will be visible on Microsoft's website:

https://docs.microsoft.com/en-us/typography/vendors/

This check verifies whether or not a given font's vendor ID is registered in that list or if it has some of the default values used by the most common font editors.

Each new FontBakery release includes a cached copy of that list of vendor IDs. If you registered recently, you're safe to ignore warnings emitted by this check, since your ID will soon be included in one of our upcoming releases.

</pre>

• WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]

</details> <details> <summary>⚠ <b>WARN:</b> Is there kerning info for non-ligated sequences?</summary>

Fonts with ligatures should have kerning on the corresponding non-ligated sequences for text where ligatures aren't used (eg https://github.com/impallari/Raleway/issues/14).

</pre>

• WARN GPOS table lacks kerning info for the following non-ligated sequences:

• f + f
• f + i
• i + f
• f + l
• l + f
• i + l

[code: lacks-kern-info]

</details> <details> <summary>⚠ <b>WARN:</b> METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?</summary>

• com.google.fonts/check/metadata/designer_profiles

• WARN It seems that Hector Gatti is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]

</details> <br> </details>

### Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 0 7 79 17 270 0
0% 0% 2% 21% 5% 72% 0%

Note: The following loglevels were omitted in this report:

• SKIP
• INFO
• PASS
• DEBUG

## Diff images: qa.zip

graphicore

comment created time in 3 hours

push eventtypeworld/guiapp

commit sha 1b5381aa8fb81d2ab5860879621649add3b7a7e9

Disable HiDPI for now

commit sha b5cd46673e2b7969ac01903bc3d55b5a39964912

Set externallyControlled to False for selftest

push time in 3 hours

delete branch googlefonts/colr-gradients-spec

delete branch : must_shall

delete time in 3 hours

push eventgooglefonts/colr-gradients-spec

commit sha cdff12dc4b973c3619013fab3eb8d015560a4452

shall be

commit sha cbcf9fe24615f14ac4ce8357d6668aeb7ea8a627

Merge pull request #116 from googlefonts/must_shall Use "shall" instead of "must" in several places

push time in 3 hours

PR merged googlefonts/colr-gradients-spec

As suggested on #108, fixes #108

+7 -7

6 comments

1 changed file

rsheeter

pr closed time in 3 hours

issue closedgooglefonts/colr-gradients-spec

Sorry, I should have commented on the PR before it was completed.

Entries must be sorted...

In ISO-speak (ISO Directives Part 2), "must" is used for external constraints, i.e., something outside the standard that nonetheless imposes a constraint. Like laws of nature, or legal requirements. By having "must" in the proposed draft, it will leave an open question: Is there something external that implicitly forces this requirement? Or should this be changed to "shall", or to "should"?

I don't think there's any external constraint (in the ISO sense). We should decide now if we mean "shall" or "should".

"Shall" would imply that, unless the entries are sorted, the font is not conformant, i.e., invalid. Do we expect implementations to reject a font? (I don't think so.) Or do we expect validation tools to call out an error (vs. warning) and deem the font invalid?

(Of course, we could state as a requirement, but runtime implementations may still choose to be lenient.)

There are many parts of the OT spec that say "[items of some kind] are sorted" (implying expectation) or "... must be sorted" ("must" is OT's "shall"). So there's precedent for stating as a requirement rather than recommendation.

Also, the existing text in 5.7.11 (taken from OT without being translated into ISO-speak) does say wrt base glyph records,

The base glyph records are sorted by glyph id. It is assumed that a binary search can be used to efficiently access the glyph IDs that have color values.

So, I suggest either that we adopt OT-speak and say "Entries are sorted...", or adopt ISO-speak and say "Entries shall be sorted..."

closed time in 3 hours

PeterConstable
more