use crate::layout::{FeatureTableSubstitution, GDEFTable, LangSys, LayoutCache, LayoutTable, GSUB};
/// <https://docs.microsoft.com/en-us/typography/script-development/use#independent-vowel-iv-plus-dependent-vowel-constraints-dv>
fn to_indic_syllables(mut glyphs: &[RawGlyph<()>]) -> Vec<(Vec<RawGlyphIndic>, Option<Syllable>)> {
/// Assign `Pos` tags to consonants in a syllable. Return the index of the base consonant, or `None`
/// Assign `Pos` tags to post-base consonants (non-Sinhala scripts). Return the index of the base
/// Assign `Pos` tags to post-base consonants (Sinhala). Return the index of the base consonant, or
if let Some(final_reph_index) = final_reph_index(shaping_data.script, opt_base_index, glyphs) {
// https://docs.microsoft.com/en-us/typography/script-development/devanagari#reorder-characters
// For scripts that have the REPH_POS_BEFORE_POST characteristic, OpenType "Reorder Reph" step 4/d
// HarfBuzz **does** implement their interpretation of 4/d, but for whatever reason only applies
0x1CD9 => (Some(Cantillation), Some(BottomPosition)), // Tone Kathaka Independent Svarita Schroeder
0x1CE0 => (Some(Cantillation), Some(TopPosition)), // Tone Rigvedic Kashmiri Independent Svarita