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
- ObjectQueryExecutionPlan.cs
- TypeConverterValueSerializer.cs
- storepermissionattribute.cs
- PropertyInformationCollection.cs
- XmlJsonReader.cs
- RSAPKCS1SignatureFormatter.cs
- WebPartTransformerCollection.cs
- ConstraintStruct.cs
- DataSourceCache.cs
- ParentUndoUnit.cs
- ToolboxItem.cs
- AssociationTypeEmitter.cs
- WsrmTraceRecord.cs
- UpdatePanelTriggerCollection.cs
- DeclarationUpdate.cs
- ResetableIterator.cs
- SoapSchemaExporter.cs
- DetailsViewUpdateEventArgs.cs
- XsltLoader.cs
- MenuAutomationPeer.cs
- DetailsViewPagerRow.cs
- EventRouteFactory.cs
- RemoteDebugger.cs
- HttpBufferlessInputStream.cs
- ActivityCollectionMarkupSerializer.cs
- InputBindingCollection.cs
- BuildManagerHost.cs
- ThreadStaticAttribute.cs
- CallInfo.cs
- BuildDependencySet.cs
- TemplateBindingExpressionConverter.cs
- SqlDelegatedTransaction.cs
- loginstatus.cs
- SHA384CryptoServiceProvider.cs
- EventLogStatus.cs
- ServiceReflector.cs
- DataTableMappingCollection.cs
- HttpAsyncResult.cs
- CommandPlan.cs
- LayoutUtils.cs
- LocalIdKeyIdentifierClause.cs
- FontInfo.cs
- _TransmitFileOverlappedAsyncResult.cs
- TemplatePropertyEntry.cs
- Descriptor.cs
- Underline.cs
- EventlogProvider.cs
- ExpressionBuilder.cs
- FloaterParagraph.cs
- SmtpReplyReaderFactory.cs
- QuaternionValueSerializer.cs
- Image.cs
- IDictionary.cs
- ProcessProtocolHandler.cs
- CommentAction.cs
- PerfService.cs
- RoutedCommand.cs
- ConfigurationException.cs
- StylusPlugin.cs
- ResourceBinder.cs
- SortQueryOperator.cs
- FormConverter.cs
- DateTime.cs
- ExpressionServices.cs
- VideoDrawing.cs
- PerspectiveCamera.cs
- LassoSelectionBehavior.cs
- AssemblyAttributes.cs
- keycontainerpermission.cs
- Collection.cs
- MatrixValueSerializer.cs
- CollectionBuilder.cs
- DataGridViewRowPrePaintEventArgs.cs
- ChannelManagerBase.cs
- CqlBlock.cs
- DoubleCollectionValueSerializer.cs
- AssertFilter.cs
- VBCodeProvider.cs
- LeaseManager.cs
- FixedElement.cs
- ObjectDataSourceEventArgs.cs
- WebPartConnectionsEventArgs.cs
- XmlHelper.cs
- GridViewDesigner.cs
- CodeCastExpression.cs
- XmlSchemaChoice.cs
- QuaternionAnimationBase.cs
- Wizard.cs
- Mouse.cs
- sqlstateclientmanager.cs
- BamlRecordReader.cs
- HttpFormatExtensions.cs
- ImageClickEventArgs.cs
- RowToFieldTransformer.cs
- XmlSigningNodeWriter.cs
- SafeFileMappingHandle.cs
- Common.cs
- sqlmetadatafactory.cs
- KeyConstraint.cs
- PropertiesTab.cs