internal static Exception ConvertInPageException(FontSource fontSource, SEHException e) { string fileName; if (fontSource.IsFile) { fileName = fontSource.Uri.LocalPath; } else { fileName = fontSource.GetUriString(); } return(new IOException(SR.Get(SRID.IOExceptionWithFileName, fileName), e)); }
internal static CompositeFontFamily GetCompositeFontFamilyAtIndex(int index) { if (_systemCompositeFonts[index] == null) { lock (_systemCompositeFontsLock) { if (_systemCompositeFonts[index] == null) { FontSource fontSource = new FontSource(new Uri(Path.Combine(FamilyCollection.SxSFontsResourcePrefix, _systemCompositeFontsFileNames[index] + Util.CompositeFontExtension), UriKind.RelativeOrAbsolute), skipDemand: true, isComposite: true, isInternalCompositeFont: true); CompositeFontInfo fontInfo = CompositeFontParser.LoadXml(fontSource.GetStream()); _systemCompositeFonts[index] = new CompositeFontFamily(fontInfo); } } } return(_systemCompositeFonts[index]); }
internal static CompositeFontFamily GetCompositeFontFamilyAtIndex(int index) { if (_systemCompositeFonts[index] == null) { lock (_systemCompositeFontsLock) { if (_systemCompositeFonts[index] == null) { FontSource fontSource = new FontSource(new Uri(FamilyCollection.SxSFontsLocation + _systemCompositeFontsFileNames[index] + Util.CompositeFontExtension, UriKind.Absolute), true, //skipDemand. //We skip demand here since this class should cache //all system composite fonts for the current process //Demanding read permissions should be done by FamilyCollection.cs true //isComposite ); CompositeFontInfo fontInfo = CompositeFontParser.LoadXml(fontSource.GetStream()); _systemCompositeFonts[index] = new CompositeFontFamily(fontInfo); } } } return(_systemCompositeFonts[index]); }