public void XmlToMeiTest() { XElement testelement = new XElement("ligature", new XElement("note", "bla")); MeiElement compare = new Ligature(); MeiElement test = MeiImport.XmlToMei(testelement); Assert.IsInstanceOfType(test, compare.GetType()); }
void AddLoop(Edge edgeRoot) { Edge tmp = (Edge)m_edges[m_random.Next(m_edges.Count)]; while (tmp.PostVertex.SuccessorEdges.Count == 0) { tmp = (Edge)m_edges[m_random.Next(m_edges.Count)]; } Vertex to = tmp.PreVertex; foreach (Edge e in m_edges) { Vertex from = e.PostVertex; if (IsV1PredecessorOfV2(to, from)) { Ligature loopback = new Ligature(from, to, "Loopback"); } } }
public Ligature GetLigatureTable(uint i) { Ligature l = null; if (i < LigatureCount) { l = new Ligature(m_offsetLigatureSet + GetLigatureOffset(i), m_bufTable); } return l; }
/// <summary> /// Converts the ligature to path. /// </summary> /// <param name="leadingGlyphId">The leading glyph id.</param> /// <param name="ligature">The ligature.</param> /// <param name="lookupFlags">The lookup flags.</param> /// <returns> /// A path. /// </returns> private IEnumerable <ITransition> ConvertLigatureToPath(ushort leadingGlyphId, Ligature ligature, LookupFlags lookupFlags) { yield return(new SimpleTransition { GlyphId = leadingGlyphId, HeadShift = 1, LookupFlags = lookupFlags }); var componentGlyphIdList = ligature.ComponentGlyphIds.ToList(); // Some fonts contain "ligatures" 1 glyph long (those have leading glyph only). if (componentGlyphIdList.Any()) { // Transitions to recognize the ligature. foreach (var componentGlyphId in componentGlyphIdList) { yield return(new SimpleTransition { GlyphId = componentGlyphId, HeadShift = 1, LookupFlags = lookupFlags }); } } yield return(new AlwaysTransition { HeadShift = 0, LookupFlags = lookupFlags, Action = new SubstitutionAction { ReplacedGlyphCount = (uint)componentGlyphIdList.Count + 1, SkippedGlyphCount = 1, ReplacementGlyphIds = new[] { ligature.LigatureGlyphId } } }); }