Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / MS / Internal / Shaping / Item.cs / 1 / Item.cs
//+------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2001 // // File: Item.cs // // Contents: Avalon item description & script system // // Created: 12-17-2001 Worachai Chaoweeraprasit (wchao) // //----------------------------------------------------------------------- using System; using System.Collections; using System.Globalization; namespace MS.Internal.Shaping { ////// Run sharing the same character properties and glyph variation. /// ////// Generated by itemizer and consumed by shaping engine /// internal struct Item { internal Item( ScriptID script, ItemFlags flags ) { _script = script; _flags = flags; _digitCulture = null; } public static bool operator ==( Item left, Item right ) { return left._script == right._script && left._flags == right._flags; } public static bool operator !=( Item left, Item right ) { return !(left == right); } public override bool Equals(object o) { if (o == null) return false; if (o is Item) return this == (Item)o; return false; } public override int GetHashCode() { return (int)_script ^ (int)Flags; } ////// Shaping engine script identifier /// internal ScriptID Script { get { return _script; } set { _script = value; } } ////// Character-based flags for the item /// internal ItemFlags Flags { get { return _flags; } set { _flags = value; } } ////// Digit culture if it's a ScriptID.Digit item and we're doing number /// substitution. Otherwise, null. /// internal CultureInfo DigitCulture { get { return _digitCulture; } set { _digitCulture = value; } } private ScriptID _script; private ItemFlags _flags; private CultureInfo _digitCulture; } [Flags] internal enum ItemFlags : ushort { Default = 0, ////// Display glyph using vertical glyph form /// VerticalForm = 0x0001, ////// Display glyph using glyph of the mirrored code point form /// PairMirrorForm = 0x0002, ////// Display glyph using mirrored glyph form /// SingleMirrorForm = 0x0004, ////// The OR of both variants /// GlyphVariant = VerticalForm, ////// Item displays sideway to the baseline /// DisplaySideway = 0x0008, ////// Item containing combining marks that need precomposition /// HasCombiningMark = 0x0010, ////// Item containing extended character /// HasExtendedCharacter = 0x0020, ////// Set if the previous item ended with ZWJ /// LeadingJoin = 0x0040, } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //+------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2001 // // File: Item.cs // // Contents: Avalon item description & script system // // Created: 12-17-2001 Worachai Chaoweeraprasit (wchao) // //----------------------------------------------------------------------- using System; using System.Collections; using System.Globalization; namespace MS.Internal.Shaping { ////// Run sharing the same character properties and glyph variation. /// ////// Generated by itemizer and consumed by shaping engine /// internal struct Item { internal Item( ScriptID script, ItemFlags flags ) { _script = script; _flags = flags; _digitCulture = null; } public static bool operator ==( Item left, Item right ) { return left._script == right._script && left._flags == right._flags; } public static bool operator !=( Item left, Item right ) { return !(left == right); } public override bool Equals(object o) { if (o == null) return false; if (o is Item) return this == (Item)o; return false; } public override int GetHashCode() { return (int)_script ^ (int)Flags; } ////// Shaping engine script identifier /// internal ScriptID Script { get { return _script; } set { _script = value; } } ////// Character-based flags for the item /// internal ItemFlags Flags { get { return _flags; } set { _flags = value; } } ////// Digit culture if it's a ScriptID.Digit item and we're doing number /// substitution. Otherwise, null. /// internal CultureInfo DigitCulture { get { return _digitCulture; } set { _digitCulture = value; } } private ScriptID _script; private ItemFlags _flags; private CultureInfo _digitCulture; } [Flags] internal enum ItemFlags : ushort { Default = 0, ////// Display glyph using vertical glyph form /// VerticalForm = 0x0001, ////// Display glyph using glyph of the mirrored code point form /// PairMirrorForm = 0x0002, ////// Display glyph using mirrored glyph form /// SingleMirrorForm = 0x0004, ////// The OR of both variants /// GlyphVariant = VerticalForm, ////// Item displays sideway to the baseline /// DisplaySideway = 0x0008, ////// Item containing combining marks that need precomposition /// HasCombiningMark = 0x0010, ////// Item containing extended character /// HasExtendedCharacter = 0x0020, ////// Set if the previous item ended with ZWJ /// LeadingJoin = 0x0040, } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OrElse.cs
- MaskInputRejectedEventArgs.cs
- CheckBoxFlatAdapter.cs
- IISMapPath.cs
- EntityContainerEmitter.cs
- RawStylusSystemGestureInputReport.cs
- IntMinMaxAggregationOperator.cs
- ScriptingRoleServiceSection.cs
- DeviceContext.cs
- ListBoxItemWrapperAutomationPeer.cs
- WebPartMenu.cs
- AuditLog.cs
- OleDbCommand.cs
- InlineCollection.cs
- WebPartConnectionsCancelEventArgs.cs
- DataObjectFieldAttribute.cs
- XmlSchemaComplexContent.cs
- TextReader.cs
- InvariantComparer.cs
- EventTrigger.cs
- WaitForChangedResult.cs
- DrawingBrush.cs
- LinqDataSourceView.cs
- IPAddress.cs
- FrameworkContentElement.cs
- DataGridViewColumnDesigner.cs
- ItemCheckedEvent.cs
- ArgumentNullException.cs
- StringSorter.cs
- WmfPlaceableFileHeader.cs
- BitStream.cs
- WebPartConnectionsCancelVerb.cs
- AssemblyAssociatedContentFileAttribute.cs
- HtmlTableCellCollection.cs
- LinqDataSourceDeleteEventArgs.cs
- EditorPart.cs
- FollowerQueueCreator.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- FormsAuthenticationUser.cs
- UnmanagedMemoryStream.cs
- MinimizableAttributeTypeConverter.cs
- SqlMultiplexer.cs
- Visitor.cs
- XmlElement.cs
- InteropBitmapSource.cs
- GraphicsContainer.cs
- EndEvent.cs
- UriWriter.cs
- BuildProvidersCompiler.cs
- Assert.cs
- IisTraceWebEventProvider.cs
- RuntimeHelpers.cs
- ToolStripLabel.cs
- RecognizeCompletedEventArgs.cs
- FileReader.cs
- XmlCharType.cs
- ListBoxDesigner.cs
- Paragraph.cs
- XmlDataFileEditor.cs
- ItemCheckedEvent.cs
- Run.cs
- HostProtectionPermission.cs
- UpdatePanelControlTrigger.cs
- MissingSatelliteAssemblyException.cs
- SimpleBitVector32.cs
- ReferenceEqualityComparer.cs
- PersonalizationState.cs
- SystemIPv6InterfaceProperties.cs
- FullTextState.cs
- DataGridRow.cs
- FlowLayoutPanel.cs
- Delegate.cs
- HttpHandlersSection.cs
- TextShapeableCharacters.cs
- WebMessageEncodingElement.cs
- ListViewPagedDataSource.cs
- FileStream.cs
- TextContainerHelper.cs
- SafeEventHandle.cs
- PathGradientBrush.cs
- ContentPosition.cs
- RunClient.cs
- ParameterCollection.cs
- ValueTypeFixupInfo.cs
- FontFamily.cs
- HyperLinkColumn.cs
- TypeLoadException.cs
- RequestNavigateEventArgs.cs
- OdbcError.cs
- _TimerThread.cs
- RequestCachingSection.cs
- ButtonBase.cs
- ReadWriteObjectLock.cs
- SqlIdentifier.cs
- HtmlProps.cs
- DockingAttribute.cs
- control.ime.cs
- DefaultMemberAttribute.cs
- WaitForChangedResult.cs
- XmlUrlResolver.cs