Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CompModHelpers.cs
- ScriptRegistrationManager.cs
- NetNamedPipeSecurityElement.cs
- HTMLTextWriter.cs
- Vector3DAnimation.cs
- LayoutUtils.cs
- Table.cs
- SymbolTable.cs
- PinnedBufferMemoryStream.cs
- HttpListenerRequestTraceRecord.cs
- MouseEventArgs.cs
- XmlSerializationGeneratedCode.cs
- XamlStyleSerializer.cs
- Pair.cs
- SpellerInterop.cs
- DtrList.cs
- Html32TextWriter.cs
- X500Name.cs
- FlowPosition.cs
- InvocationExpression.cs
- NameObjectCollectionBase.cs
- DataGridViewHeaderCell.cs
- EncryptedPackage.cs
- ProfilePropertyNameValidator.cs
- ColumnClickEvent.cs
- InvalidateEvent.cs
- Point3DAnimationBase.cs
- Canvas.cs
- GiveFeedbackEvent.cs
- FileSystemWatcher.cs
- PngBitmapEncoder.cs
- Propagator.ExtentPlaceholderCreator.cs
- SQLCharsStorage.cs
- RolePrincipal.cs
- ImportCatalogPart.cs
- CompositeClientFormatter.cs
- ModelItemExtensions.cs
- ExtensibleClassFactory.cs
- SynchronousChannelMergeEnumerator.cs
- ProcessModuleCollection.cs
- ControllableStoryboardAction.cs
- XmlFormatWriterGenerator.cs
- StreamAsIStream.cs
- DataRelationPropertyDescriptor.cs
- QilDataSource.cs
- OrCondition.cs
- DateTimeFormatInfo.cs
- EastAsianLunisolarCalendar.cs
- SchemaNames.cs
- SqlDataSourceView.cs
- OperationInfoBase.cs
- InfoCardKeyedHashAlgorithm.cs
- PackageDigitalSignature.cs
- basenumberconverter.cs
- PageThemeBuildProvider.cs
- VersionConverter.cs
- ActiveXHost.cs
- TypeForwardedToAttribute.cs
- __Error.cs
- Policy.cs
- Function.cs
- AlphaSortedEnumConverter.cs
- IdentityModelStringsVersion1.cs
- PrintingPermissionAttribute.cs
- UnmanagedMemoryStreamWrapper.cs
- RecommendedAsConfigurableAttribute.cs
- Ipv6Element.cs
- Misc.cs
- PolicyValidator.cs
- StringResourceManager.cs
- ReadOnlyMetadataCollection.cs
- HelpKeywordAttribute.cs
- TypeGeneratedEventArgs.cs
- RtfControls.cs
- CodeMemberMethod.cs
- BitmapImage.cs
- GenericPrincipal.cs
- ConsoleKeyInfo.cs
- CheckedPointers.cs
- BindingGroup.cs
- AlternationConverter.cs
- ProcessHostServerConfig.cs
- brushes.cs
- SQLSingleStorage.cs
- SystemNetworkInterface.cs
- VectorAnimationUsingKeyFrames.cs
- TriggerActionCollection.cs
- Pointer.cs
- ColorDialog.cs
- WinHttpWebProxyFinder.cs
- ColumnClickEvent.cs
- ComponentDispatcherThread.cs
- BitHelper.cs
- DebugTrace.cs
- PackageDigitalSignature.cs
- SQLGuid.cs
- InfoCardBaseException.cs
- OleDbStruct.cs
- BasePattern.cs
- SelectedGridItemChangedEvent.cs