SIL.WritingSystems 15.0.0-beta0165

Prefix Reserved
This is a prerelease version of SIL.WritingSystems.
There is a newer version of this package available.
See the version list below for details.
dotnet add package SIL.WritingSystems --version 15.0.0-beta0165
                    
NuGet\Install-Package SIL.WritingSystems -Version 15.0.0-beta0165
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SIL.WritingSystems" Version="15.0.0-beta0165" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SIL.WritingSystems" Version="15.0.0-beta0165" />
                    
Directory.Packages.props
<PackageReference Include="SIL.WritingSystems" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SIL.WritingSystems --version 15.0.0-beta0165
                    
#r "nuget: SIL.WritingSystems, 15.0.0-beta0165"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SIL.WritingSystems&version=15.0.0-beta0165&prerelease
                    
Install SIL.WritingSystems as a Cake Addin
#tool nuget:?package=SIL.WritingSystems&version=15.0.0-beta0165&prerelease
                    
Install SIL.WritingSystems as a Cake Tool

SIL.WritingSystems contains classes for managing and persisting writing systems using the Locale Data Markup Language (LDML) format. This library also contains classes for processing IETF (BCP-47) language tags and accessing the SIL Locale Data Repository (SLDR).

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (16)

Showing the top 5 NuGet packages that depend on SIL.WritingSystems:

Package Downloads
SIL.DblBundle

SIL.DblBundle provides classes for building a Digital Bible Library (DBL) bundle.

SIL.Lift

SIL.Lift contains classes for reading and writing Lexicon Interchange FormaT (LIFT) data. This assembly currently supports LIFT 0.13.

SIL.DictionaryServices

SIL.DictionaryServices contains classes for defining a simple lexical model that can be used across applications.

SIL.TestUtilities

SIL.TestUtilities contains convenience classes for developing unit tests.

SIL.Lexicon

SIL.Lexicon contains various lexicon utility classes that can be used across applications. Currently, this assembly contains classes for persisting lexicon settings that can be shared by different lexicon applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
16.0.1-beta0002 272 5/20/2025
16.0.1-beta0001 113 5/26/2025
16.0.0 348 5/20/2025
16.0.0-beta0162 277 5/20/2025
16.0.0-beta0159 262 5/20/2025
16.0.0-beta0158 250 5/17/2025
16.0.0-beta0146 351 5/13/2025
16.0.0-beta0145 339 5/12/2025
16.0.0-beta0144 216 4/25/2025
16.0.0-beta0143 213 4/25/2025
16.0.0-beta0141 333 4/16/2025
16.0.0-beta0140 1,045 4/7/2025
16.0.0-beta0127 226 4/4/2025
16.0.0-beta0126 240 3/28/2025
16.0.0-beta0125 250 3/27/2025
16.0.0-beta0124 250 3/27/2025
16.0.0-beta0109 243 3/26/2025
16.0.0-beta0104 548 3/24/2025
16.0.0-beta0103 229 3/18/2025
16.0.0-beta0102 232 3/18/2025
16.0.0-beta0090 230 3/18/2025
16.0.0-beta0088 156 3/14/2025
16.0.0-beta0083 237 3/12/2025
16.0.0-beta0079 260 3/8/2025
16.0.0-beta0068 306 3/5/2025
16.0.0-beta0067 292 3/5/2025
16.0.0-beta0066 312 3/5/2025
16.0.0-beta0063 303 3/5/2025
16.0.0-beta0061 313 3/4/2025
16.0.0-beta0052 206 2/24/2025
16.0.0-beta0051 189 2/21/2025
16.0.0-beta0050 198 2/21/2025
16.0.0-beta0049 201 2/20/2025
16.0.0-beta0048 190 2/20/2025
16.0.0-beta0047 249 2/18/2025
16.0.0-beta0046 245 2/18/2025
16.0.0-beta0045 256 2/17/2025
16.0.0-beta0034 244 2/17/2025
16.0.0-beta0033 218 2/17/2025
16.0.0-beta0032 241 2/13/2025
16.0.0-beta0031 4,172 2/13/2025
16.0.0-beta0021 246 2/12/2025
16.0.0-beta0020 226 2/12/2025
16.0.0-beta0019 222 2/11/2025
16.0.0-beta0017 209 2/7/2025
16.0.0-beta0016 190 2/7/2025
16.0.0-beta0012 195 2/6/2025
16.0.0-beta0011 189 2/6/2025
16.0.0-beta0010 202 2/5/2025
16.0.0-beta0009 209 2/5/2025
15.0.1-beta0007 190 1/27/2025
15.0.1-beta0004 178 1/24/2025
15.0.1-beta0003 172 1/23/2025
15.0.1-beta0002 158 1/13/2025
15.0.0 3,756 1/7/2025
15.0.0-beta0170 195 1/7/2025
15.0.0-beta0165 193 1/2/2025
15.0.0-beta0163 217 12/20/2024
15.0.0-beta0135 203 12/20/2024
15.0.0-beta0133 220 12/3/2024
15.0.0-beta0128 874 11/19/2024
15.0.0-beta0122 204 11/19/2024
15.0.0-beta0117 850 11/14/2024
15.0.0-beta0115 211 11/12/2024
15.0.0-beta0114 193 11/7/2024
15.0.0-beta0112 206 10/30/2024
15.0.0-beta0111 186 10/28/2024
15.0.0-beta0102 184 10/25/2024
15.0.0-beta0101 207 10/24/2024
15.0.0-beta0099 218 10/24/2024
15.0.0-beta0098 195 10/24/2024
15.0.0-beta0097 171 10/17/2024
15.0.0-beta0096 191 10/11/2024
15.0.0-beta0093 189 10/10/2024
15.0.0-beta0091 176 10/8/2024
15.0.0-beta0083 240 9/6/2024
15.0.0-beta0082 225 8/28/2024
15.0.0-beta0081 322 8/28/2024
15.0.0-beta0079 220 8/27/2024
15.0.0-beta0067 234 8/23/2024
15.0.0-beta0051 224 8/20/2024
14.2.0-beta0022 11,534 8/15/2024
14.2.0-beta0021 222 8/15/2024
14.2.0-beta0020 229 8/12/2024
14.2.0-beta0019 230 8/1/2024
14.2.0-beta0014 204 8/1/2024
14.2.0-beta0012 205 8/1/2024
14.2.0-beta0010 212 8/1/2024
14.2.0-beta0009 5,699 6/10/2024
14.1.2-beta0002 233 6/7/2024
14.1.1 8,577 5/23/2024
14.1.1-beta0004 238 5/23/2024
14.1.1-beta0002 176 5/14/2024
14.1.0 252 5/13/2024
14.1.0-beta0007 155 5/13/2024
14.1.0-beta0005 186 5/9/2024
14.0.1-beta0003 204 5/1/2024
14.0.1-beta0001 246 4/15/2024
14.0.0 596 4/9/2024
13.0.1 13,051 1/9/2024
13.0.0 1,562 12/8/2023
12.0.1 40,170 5/26/2023
12.0.0 28,617 2/15/2023
11.0.1 1,425 1/27/2023
11.0.0 6,152 1/21/2023
10.1.0 2,947 8/26/2022
10.0.0 23,711 8/4/2022
9.0.0 2,291 6/3/2022
8.0.0 25,739 3/4/2021
7.0.0 1,263 8/29/2019

Changes since version 14.1.1

Added:
- [SIL.Core] Added optional parameter, preserveNamespaces, to XmlUtils.WriteNode
- [SIL.Core] Added optional parameter, includeSystemLibraries, to AcknowledgementsProvider.CollectAcknowledgements
- [SIL.Windows.Forms] Added ability to select which SIL logo(s) to use in SILAboutBox.
- [SIL.Windows.Forms] Added public enum Widgets.SilLogoVariant
- [SIL.Windows.Forms] Added to Widgets.SilResources: AllLogoVariants, GetLogo, and SilLogoRandom (to replace SilLogo101x113)
- [SIL.Core] Added macOS support for `GlobalMutex`
- [SIL.Archiving] Added ArchivingDlgViewModel.Standard and ArchivingDlgViewModel.StringId emumerations.
- [SIL.Archiving] Added public delegate ArchivingDlgViewModel.ExceptionHandler and event ArchivingDlgViewModel.OnExceptionDuringLaunch.
- [SIL.Archiving] Added IArchivingProgressDisplay interface.
- [SIL.Archiving] Added overload of ArchivingDlgViewModel.DisplayMessage to take format parameters.
- [SIL.Archiving] Added public overload of ArchivingDlgViewModel.LaunchArchivingProgram.
- [SIL.Archiving] Added protected methods to ArchivingDlgViewModel: ReportMajorProgressPoint, ReportProgress, CleanUp
- [SIL.Windows.Forms.Archiving] Added protected virtual properties ArchiveTypeForTitleBar and InformativeText to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added public virtual method GetMessage to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added public virtual property ArchiveTypeName to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added protected methods DisplayMessage and Initialize (async) to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added protected virtual method PackageCreationComplete to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (public) override of property ArchiveTypeName to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (protected) override of property InformativeText to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (protected) override of method PackageCreationComplete to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (public) override of method GetMessage to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added public extensions class LinkLabelExtensions with some methods that were formerly in Extensions class (now in SIL.Archiving).
- [SIL.Archiving] Added public property isValid to IMDIPackage.
- [SIL.Archiving] Added public event InitializationFailed to IMDIArchivingDlgViewModel.
- [SIL.Archiving] Added the following properties to ArchivingDlgViewModel as an alternative way to customize the initial summary displayed: GetOverriddenPreArchivingMessages, InitialFileGroupDisplayMessageType, OverrideGetFileGroupDisplayMessage
- [SIL.Media] Added FFmpegRunner.MinimumVersion property (also used by MediaInfo for FFprobe).
- [SIL.Windows.Forms.WritingSystems] Added Caption property to LanguageLookupDialog.

Changed:
- BREAKING CHANGE: Replaced dependency on DotNetZip with System.IO.Compression.ZipFile (Client installers will need to be changed.)
- BREAKING CHANGE: Changed to target .Net Framework 4.6.2 instead of 4.6.1
- [SIL.Windows.Forms] Look for PNG data on clipboard before checking for plain image in WindowsClipboard.GetImageFromClipboard() in order to preserve transparency in copied images.
- [SIL.Windows.Forms] Changed layout of SILAboutBox to accommodate wider SIL logo.
- [SIL.Windows.Forms.Archiving] Split SIL.Archiving, moving Winforms portions (including dependency on L10nSharp) to SIL.Windows.Forms.Archiving.
- [SIL.Archiving] Changed IMDIArchivingDlgViewModel.ArchivingPackage to return an IMDIPackage (instead of an IArchivingPackage).
- [SIL.Archiving] Required ArchivingDlgViewModel implementations to implement IDisposable.
- [SIL.Archiving] Made protected members in ArchivingDlgViewModel private, adding protected accessors as needed.
- [SIL.Archiving] In ArchivingDlgViewModel, renamed DisplayMessageEventHandler to MessageEventHandler, OnDisplayMessage to OnReportMessage, DisplayErrorEventHandler to ErrorEventHandler, and OnDisplayError to OnError.
- [SIL.Archiving] Changed signature of ArchivingDlgViewModel.OverrideDisplayInitialSummary to include a CancellationToken.
- [SIL.Archiving] Made ArchivingDlgViewModel.ArchiveType property public and changed it from a string to Standard (new enum).
- [SIL.Archiving] Changed signature of setFilesToArchive delegate in ArchivingDlgViewModel's protected constructor.
- [SIL.Archiving] Changed return type of ArchivingDlgViewModel.Initialize (to make it async) and added two parameters.
- [SIL.Archiving] Changed the signature of protected methods in ArchivingDlgViewModel: LaunchArchivingProgram, GetFileExcludedMsg.
- [SIL.Archiving] Changed the signature of the public method ArchivingDlgViewModel.CreatePackage.
- [SIL.Archiving] Changed underlying type of public enums VernacularMaterialsType and SilDomain from ulong to long.
- [SIL.Archiving] Replaced protected _keys field (now private) in abstract class ArchivingPackage with protected accessor property Keys.
- [SIL.Archiving] IMDIArchivingDlgViewModel (subclass of ArchivingDlgViewModel) affected by many of the changes to the base class.
- [SIL.Archiving] IMDIArchivingDlgViewModel and RampArchivingDlgViewModel (subclasses of ArchivingDlgViewModel) affected by many of the changes to the base class.
- [SIL.Archiving] IMDIArchivingDlgViewModel constructor signature changed.
- [SIL.Archiving] RampArchivingDlgViewModel constructor signature changed.
- [SIL.Windows.Forms.Archiving] Made ArchivingDlg implement IArchivingProgressDisplay.
- [SIL.Windows.Forms.Archiving] ArchivingDlg constructor signature changed: removed localizationManagerId; added optional archiveInfoHyperlinkText; made some other parameters optional.
- [SIL.Windows.Forms.Archiving] IMDIArchivingDlg constructor signature changed: added appSpecificArchivalProcessInfo.
- [SIL.Windows.Forms] Split ClearShare code, moving non-Winforms portions to SIL.Core (SIL.Core.ClearShare namespace)
- [SIL.Core] Added optional parameter to OlacSystem.GetRoles to allow caller to provide its own XML with role definitions.
- [SIL.Windows.Forms] Split License into a base class called License and a derived LicenseWithLogo, so that License could be in SIL.Core.
- [SIL.Archiving] Changed IArchivingSession.Files (and Session.Files) into an IReadonlyList.
- [SIL.Archiving] Made IMDIPackage.CreateIMDIPackage asynchronous, changing its signature to take a CancellationToken parameter and return Task<bool>.
- [SIL.Archiving] Made MetaTranscript.WriteCorpusImdiFile asynchronous, changing its signature to return Task<bool>.
- [SIL.Archiving] Changed the name of the third parameter in ArchivingDlgViewModel.AddFileGroup from progressMessage to addingToArchiveProgressMessage.
- [SIL.Windows.Forms.Archiving] Changed Cancel Button to say Close instead in IMDIArchivingDlg.
- [SIL.Core.Desktop] Renamed GetFromRegistryProgramThatOpensFileType to GetDefaultProgramForFileType.
- [SIL.Media] Made FFmpegRunner able to use version of FFmpeg found on the path.
- [SIL.Media] Upgraded irrKlang to v. 1.6.
- [SIL.Media] In FFmpegRunner, changed ExtractMp3Audio, ExtractOggAudio, ExtractAudio, and ChangeNumberOfAudioChannels to use LocateAndRememberFFmpeg instead of LocateFFmpeg. This is potentially a breaking change but only in the edge case where an app does not install FFmpeg and the user installs it while running the app.
- [SIL.Media] Made the Windows implementation of ISimpleAudioSession more robust in that it will attempt to create an irrKlang-based recorder even if there is no audio output device enabled.
- [SIL.Media] Made FFmpegRunner explicitly a static class (technically a breaking change, though all methods were already static).
- [SIL.Media] Made FFmpegRunner look for the exe on the path before trying to find a version installed for Audacity (which is unlikely to succeed anyway).
- [SIL.Media] Made MediaInfo look for the FFprobe exe in the same location as FFmpeg when the application has specified the location for it or when it was previously located in one of the expected locations. Also made it more robust by making it more likely to find FFprobe (when it is on the system path).

Fixed:
- [SIL.Archiving] Fixed typo in RampArchivingDlgViewModel for Ethnomusicology performance collection.
- [SIL.Archiving] Changed URLs that used http: to https: in resource EmptyMets.xml.
- [SIL.Core.Desktop] Implemented GetDefaultProgramForFileType (as trenamed) in a way that works on Windows 11, Mono (probably) and MacOS (untested).
- [SIL.Media] MediaInfo.HaveNecessaryComponents properly returns true if FFprobe is on the system path.
- [SIL.Media] Made MediaInfo.FFprobeFolder look for and return the folder when first accessed, even if no prior call to the setter or other action had caused it t be found.

Removed:
- Support for .Net Framework 4.6.1
- [SIL.Windows.Forms] Removed SilLogo101x113 from Widgets.SilResources. Use SilLogoRandom or specify desired variant instead.
- [SIL.Windows.Forms] Removed previously deprecated CreativeCommonsLicense.IntergovernmentalOriganizationQualifier
- [SIL.Archiving] Removed abstract properties from ArchivingDlgViewModel: InformativeText and ArchiveInfoHyperlinkText.
- [SIL.Archiving] Removed public method ArchivingDlgViewModel.Cancel. (Now handled via cancellation tokens.)
- [SIL.Archiving] Removed protected methods from ArchivingDlgViewModel: PreparingFilesMsg, GetSavingFilesMsg
- [SIL.Archiving] Removed protected fields (renamed and made private) from ArchivingLanguage: _iso3Code, _englishName
- [SIL.Archiving] Removed protected fields (made private) from ArchivingFile: _fullName, _fileName, _fileSize, _mimeType, _descriptions, _accessProtocol
- [SIL.Archiving] Removed public methods CreateMetsFile and CreateRampPackage from RampArchivingDlgViewModel (made internal).
- [SIL.Archiving] Removed ArchivingPackage and AddSession from ArchivingDlgViewModel and RampArchivingDlgViewModel (where they threw NotImplementedExceptions)

Fixed:
- [SIL.Window.Forms] When choosing a file in the ImageToolbox.AcquireImageControl, a FileOk handler is simulated that verifies the selected file passes the given filter.  Users can defeat the filter mechanism by pasting or typing the file name.  While the returned filename does not pass the filter, the dialog is reopened until the user either chooses a proper filename or cancels the dialog.  The native FileOk handler can prevent the dialog from closing: we can't achieve that.  (See BL-13552.)

See full changelog at https://github.com/sillsdev/libpalaso/blob/master/CHANGELOG.md