/// <summary> /// フォント・エントリーに値を設定する。 /// </summary> /// <param name="data">フォント・エントリーのコレクション</param> public void SetEntries(FsbFontEntries data) { foreach (var newEntry in data.Items.Values) { if (this.Items.ContainsKey(newEntry.CharacterID)) { //// CharacterIDが登録済みの場合は更新する。 var oldEntry = this.Items[newEntry.CharacterID]; oldEntry.CharacterID = newEntry.CharacterID; oldEntry.PosX = newEntry.PosX; oldEntry.PosY = newEntry.PosY; oldEntry.Width = newEntry.Width; oldEntry.Height = newEntry.Height; oldEntry.OffsetX = newEntry.OffsetX; oldEntry.OffsetY = newEntry.OffsetY; oldEntry.AdvanceX = newEntry.AdvanceX; oldEntry.Channel = newEntry.Channel; oldEntry.Kernings.Clear(); foreach (var newKernPair in newEntry.Kernings) { oldEntry.Kernings.Add(newKernPair); } } else { //// 未登録の場合は追加する。 this.Items.Add(newEntry.CharacterID, newEntry); } } }
public FsbFontEntries Clone() { var fsbFontEntries = new FsbFontEntries(); foreach (var entry in this.Items.Values) { var newEntry = entry.Clone(); fsbFontEntries.AddEntry(newEntry); } return(fsbFontEntries); }