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
- ConfigurationSectionCollection.cs
- CryptographicAttribute.cs
- JavaScriptString.cs
- XmlBaseReader.cs
- FixedSOMTableCell.cs
- ComponentConverter.cs
- RoleGroupCollection.cs
- Control.cs
- mda.cs
- TabItemWrapperAutomationPeer.cs
- ClockGroup.cs
- SapiRecoContext.cs
- SmiXetterAccessMap.cs
- AdjustableArrowCap.cs
- ResXResourceReader.cs
- HttpListenerPrefixCollection.cs
- ReadOnlyMetadataCollection.cs
- ConstraintCollection.cs
- WithStatement.cs
- Message.cs
- ThemeDirectoryCompiler.cs
- DataGridLinkButton.cs
- ContainerUtilities.cs
- WebRequestModuleElement.cs
- DataColumnMapping.cs
- ImageButton.cs
- MenuItem.cs
- ReflectPropertyDescriptor.cs
- EnumValidator.cs
- Stackframe.cs
- FixedSOMTable.cs
- MsmqInputMessagePool.cs
- StorageBasedPackageProperties.cs
- XmlQueryStaticData.cs
- CheckBoxAutomationPeer.cs
- SettingsSection.cs
- DispatcherHookEventArgs.cs
- ReachSerializerAsync.cs
- Interfaces.cs
- PtsPage.cs
- SpeechDetectedEventArgs.cs
- TextElement.cs
- Label.cs
- IdentifierCreationService.cs
- NumericPagerField.cs
- TypeViewSchema.cs
- FloaterBaseParaClient.cs
- XmlText.cs
- EntityObject.cs
- TailCallAnalyzer.cs
- OpenTypeCommon.cs
- RegexCharClass.cs
- serverconfig.cs
- CollectionViewGroup.cs
- ClientScriptItem.cs
- SqlDataReaderSmi.cs
- SqlDataSourceEnumerator.cs
- EmissiveMaterial.cs
- DataBoundControl.cs
- VBIdentifierName.cs
- FocusChangedEventArgs.cs
- QueryAccessibilityHelpEvent.cs
- sqlmetadatafactory.cs
- EntitySetBaseCollection.cs
- Substitution.cs
- XmlHierarchicalDataSourceView.cs
- Axis.cs
- AsyncWaitHandle.cs
- JoinCqlBlock.cs
- WebPartCatalogAddVerb.cs
- ComponentDispatcherThread.cs
- QilInvokeEarlyBound.cs
- TextModifier.cs
- LingerOption.cs
- Msec.cs
- SwitchAttribute.cs
- IImplicitResourceProvider.cs
- IPEndPoint.cs
- XslCompiledTransform.cs
- SqlDataSource.cs
- StandardMenuStripVerb.cs
- IApplicationTrustManager.cs
- KeyInterop.cs
- FastEncoder.cs
- InputLanguageSource.cs
- OleDbRowUpdatedEvent.cs
- BasicViewGenerator.cs
- Message.cs
- ValidatingPropertiesEventArgs.cs
- SqlCharStream.cs
- RecognitionResult.cs
- BitmapInitialize.cs
- Events.cs
- XmlBufferReader.cs
- NullableDecimalMinMaxAggregationOperator.cs
- SignedPkcs7.cs
- ChtmlPageAdapter.cs
- SqlDeflator.cs
- FastEncoderWindow.cs
- MouseCaptureWithinProperty.cs