PhoneticShape UnapplyRHS(Match match) { PhoneticShape output = new PhoneticShape(); output.Add(new Margin(Direction.LEFT)); // iterate thru LHS partitions, copying the matching partition from the // input to the output for (int i = 0; i < m_transform.PartitionCount; i++) { m_transform.Unapply(match, i, output); } output.Add(new Margin(Direction.RIGHT)); return(output); }
void UnapplyRHS(Match match, out PhoneticShape headShape, out PhoneticShape nonHeadShape) { headShape = new PhoneticShape(); headShape.Add(new Margin(Direction.LEFT)); nonHeadShape = new PhoneticShape(); nonHeadShape.Add(new Margin(Direction.LEFT)); // iterate thru LHS partitions, copying the matching partition from the // input to the output for (int i = 0; i < m_transform.PartitionCount; i++) { PhoneticShape curShape = i < m_firstNonHeadPartition ? headShape : nonHeadShape; m_transform.Unapply(match, i, curShape); } headShape.Add(new Margin(Direction.RIGHT)); nonHeadShape.Add(new Margin(Direction.RIGHT)); }