Long story short, I'm rendering font without the use of FreeType or HarfBuzz (for various reasons), by manually parsing TrueType and derivative formats to extract metadata and glyph information, to later build bitmaps and distance fields from their outlines at runtime. Something I'm concerned about is reliable glyph substitution where essential, i.e. where certain sequences must be replaced as per the language rules, by another.
What I'm unclear about is how reliable the GSUB table can generally be assumed to be. In other words, is it reasonable to expect that an Arabic font, for example, should provide a populated GSUB table containing the substitutions required for an Arabic script? Or, given that this is per-script, is it generally assumed that fonts would only provide special, per-font substitutions, while the shaping engine is assumed to handle any per-script substituions as global rules? I'm not concerned that the substituted glyph(s) may be unavailable, as the system searches for fallbacks in that case, else reverts to the original sequence.
Obviously having a global ruleset in place per-script would be totally reliable as a fallback, but I want to keep this as minimal as possible. Apologies that this isn't exactly an empirical question, but I'm having trouble finding much information on this, short of having to actually examine a large sample of various fonts. This overview seems to suggest that per-script substitutions will be defined, but given that the tables are modular, there is of course no guarantee that there will even be a table, let alone the required definitions. Failing this, is there any known database of substitutions for various scripts?