public static BFRange Parse(string s, ref int startPosition) { string sBeginChar; string sUnicodeChar; Statement.SkipSpace(s, ref startPosition); sBeginChar = PdfHexStringDataType.GetRawData(s, ref startPosition); Statement.SkipSpace(s, ref startPosition); sUnicodeChar = PdfHexStringDataType.GetRawData(s, ref startPosition); int beginChar = int.Parse(sBeginChar.Substring(1, sBeginChar.Length - 2), NumberStyles.HexNumber); int unicodeChar = int.Parse(sUnicodeChar.Substring(1, sUnicodeChar.Length - 2), NumberStyles.HexNumber); return(new BFRange() { BeginChar = beginChar, EndChar = beginChar, UnicodeChar = unicodeChar }); }
public static string GetNextStatement(string content, ref int i) { string statement = ""; bool readingStatement = false; if (i >= content.Length) { return(null); } while (i < content.Length) { if (content[i] == ' ') { if (readingStatement) { i++; return(statement); } statement += " "; i++; } else if (content[i] == '\n') { i++; return(statement); } else if (readingStatement && IsSeparator(content[i])) { return(statement); } else if (PdfNumericDataType.IsStartChar(content, i)) { // string parameter statement += PdfNumericDataType.GetRawData(content, ref i); } else if (PdfStringDataType.IsStartChar(content, i)) { // string parameter statement += PdfStringDataType.GetRawData(content, ref i); } else if (PdfArrayDataType.IsStartChar(content, i)) { // array parameter statement += PdfArrayDataType.GetRawData(content, ref i); } else if (PdfHexStringDataType.IsStartChar(content, i)) { // hex string parameter statement += PdfHexStringDataType.GetRawData(content, ref i); } else if (content[i] == 't' && i + 5 < content.Length && content.Substring(i, 5) == "true ") { // boolean true parameter statement += "true "; i += 5; } else if (content[i] == 'f' && i + 6 < content.Length && content.Substring(i, 6) == "false ") { // boolean false parameter statement += "false "; i += 6; } else if (PdfObjectDataType.IsStartChar(content, i)) { // hex string parameter statement += PdfObjectDataType.GetRawData(content, ref i); } else { statement += content[i]; readingStatement = true; i++; } } return(statement); }