private static IReadOnlyDictionary <string, TableRecordEntry> ReadTableRecords(FontReader reader, OffsetTable offsetTable) { var entries = new Dictionary <string, TableRecordEntry>(offsetTable.Tables); for (var i = 0; i < offsetTable.Tables; i++) { var entry = TableRecordEntry.FromReader(reader); entries.Add(entry.Tag, entry); } return(entries); }
public static void WriteHashMapToConsole() { foreach (KeyValuePair <string, TableRecordEntry> pair in _hash) { Console.WriteLine("-------------------------------------------"); Console.WriteLine("Table Name: " + pair.Key); TableRecordEntry currTblEntry = pair.Value; int iCount = 0; foreach (string s in currTblEntry.StrItemArray) { Console.WriteLine(iCount.ToString().PadLeft(3, ' ') + ": " + s); iCount++; } } }
public static void AddTableFromDefintion(string strSqlTableDefEntry) { string strTableData = ""; string strTableName = ""; string strTableDefPrefix = ""; string pattern = @"CREATE TABLE `([a-zA-Z].*)` "; Match match = Regex.Match(strSqlTableDefEntry, pattern); if (match.Success) { strTableName = match.Groups[1].Value; strTableDefPrefix = "\r\nCREATE TABLE `" + strTableName + "` (\r\n "; strTableData = strSqlTableDefEntry.Replace(strTableDefPrefix, ""); TableRecordEntry curTblEntry = new TableRecordEntry(); strTableData = strTableData.Replace("\n ", ""); curTblEntry.StrItemArray = strTableData.Split('\r'); curTblEntry.CalculateMaxStrLen(); _hash.Add(strTableName, curTblEntry); } else { pattern = @"CREATE TABLE ([a-zA-Z].*)\("; match = Regex.Match(strSqlTableDefEntry, pattern); if (match.Success) { strTableName = match.Groups[1].Value; strTableDefPrefix = "\r\nCREATE TABLE " + strTableName + "(\r\n "; strTableData = strSqlTableDefEntry.Replace(strTableDefPrefix, ""); TableRecordEntry curTblEntry = new TableRecordEntry(); strTableData = strTableData.Replace("\n ", ""); curTblEntry.StrItemArray = strTableData.Split('\r'); curTblEntry.CalculateMaxStrLen(); _hash.Add(strTableName, curTblEntry); } } }