All Projects → GoldenCrystal → NetUnicodeInfo

GoldenCrystal / NetUnicodeInfo

Licence: MIT License
Unicode Character Inspector & Library providing a subset of the Unicode data for .NET clients.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to NetUnicodeInfo

DotNetDynamicInjector
💉 Dynamically reference external dlls without the need to add them to the project. Leave your project with low dependency and allowing specific dlls according to your business rule or database parameters.
Stars: ✭ 18 (-57.14%)
Mutual labels:  net, netstandard
Neatinput
A .NET standard project which aims to make keyboard and mouse input monitoring easy on Windows and eventually Linux.
Stars: ✭ 89 (+111.9%)
Mutual labels:  net, netstandard
Dbreeze
C# .NET MONO NOSQL ( key value store embedded ) ACID multi-paradigm database management system.
Stars: ✭ 383 (+811.9%)
Mutual labels:  net, netstandard
Stringy
🉑 Stringy - A PHP string manipulation library with multibyte support, performance optimized
Stars: ✭ 135 (+221.43%)
Mutual labels:  unicode, unicode-characters
profiler-api
The portable version of JetBrains profiler API for .NET Framework / .NET Core / .NET / .NET Standard / Mono
Stars: ✭ 21 (-50%)
Mutual labels:  net, netstandard
Epplus
EPPlus 5-Excel spreadsheets for .NET
Stars: ✭ 693 (+1550%)
Mutual labels:  net, netstandard
Singularity
A extremely fast ioc container for high performance applications
Stars: ✭ 63 (+50%)
Mutual labels:  net, netstandard
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (+166.67%)
Mutual labels:  net, netstandard
unicode-9.0.0
JavaScript-compatible Unicode data. Arrays of code points, arrays of symbols, and regular expressions for Unicode v9.0.0’s categories, scripts, blocks, bidi, and other properties.
Stars: ✭ 16 (-61.9%)
Mutual labels:  unicode, unicode-data
unicode-blocks
Unicode Blocks of a Ruby String
Stars: ✭ 18 (-57.14%)
Mutual labels:  unicode, unicode-data
NETProvider
Firebird ADO.NET Data Provider
Stars: ✭ 113 (+169.05%)
Mutual labels:  net, netstandard
unicode-data
Temporary holding place for my suggestions for future version of Unicode data files. Report bugs to https://www.unicode.org/reporting.html
Stars: ✭ 18 (-57.14%)
Mutual labels:  unicode, unicode-data
character
tool for character manipulations
Stars: ✭ 26 (-38.1%)
Mutual labels:  unicode, unicode-characters
nerd-font-cheatsheets
Generated list of Nerd Font to simplify finding characters that look good in text editors and terminal prompt
Stars: ✭ 74 (+76.19%)
Mutual labels:  unicode-characters
gpprofile2017
Gpprof with unicode support and new features.
Stars: ✭ 60 (+42.86%)
Mutual labels:  unicode
sugartex
SugarTeX is a more readable LaTeX language extension and transcompiler to LaTeX. Fast Unicode autocomplete in Atom editor via https://github.com/kiwi0fruit/atom-sugartex-completions
Stars: ✭ 74 (+76.19%)
Mutual labels:  unicode
CoreShop
基于 Asp.Net Core 5.0、Uni-App开发,支持可视化布局的小程序商城系统,前后端分离,支持分布式部署,跨平台运行,拥有分销、代理、团购、拼团、秒杀、直播、优惠券、自定义表单等众多营销功能,拥有完整SKU、下单、售后、物流流程。支持一套代码编译发布微信小程序版、H5版、Android版、iOS版、支付宝小程序版、字节跳动小程序版、QQ小程序版等共10个平台。
Stars: ✭ 278 (+561.9%)
Mutual labels:  net
Xid.Net
Ported from https://github.com/rs/xid - A fast, low allocation, zero config, thread-safe 12 byte UUID generator based on the Mongo Object Id algorithm.
Stars: ✭ 17 (-59.52%)
Mutual labels:  netstandard
couplet
Unicode code points support for Clojure
Stars: ✭ 21 (-50%)
Mutual labels:  unicode
live-documenter
.NET documentation generator and live reader. Generate documentation from .NET code and xml comments, fast, quick and easy.
Stars: ✭ 64 (+52.38%)
Mutual labels:  net

.NET Unicode Information Library

Build Status

Summary

This project consists of a library that provides access to some of the data contained in the Unicode Character Database.

Version of Unicode supported

Unicode 13.0 Emoji 13.0

Breaking changes from versions 1.x to 2.x

UnicodeRadicalStrokeCount.StrokeCount is now of type System.SByte instead of type System.Byte.

Using the library

Reference the NuGet package

Grab the latest version of the package on NuGet: https://www.nuget.org/packages/UnicodeInformation/. Once the library is installed in your project, you will find everything you need in the System.Unicode namespace.

Basic information

Everything provided by the library will be under the namespace System.Unicode. XML documentation should be complete enough so that you can navigate the API without getting lost.

In its current state, the project is written in C# 7.3, compilable by Roslyn, and targets both .NET Standard 2.0 and .NET Standard 1.1. The library UnicodeInformation includes a (large) subset of the official Unicode Character Database stored in a custom file format.

Example usage

The following program will display informations on a few characters:

using System;
using System.Text;
using System.Unicode;

namespace Example
{
	internal static class Program
	{
		private static void Main()
		{
			Console.OutputEncoding = Encoding.Unicode;
			PrintCodePointInfo('A');
			PrintCodePointInfo('∞');
			PrintCodePointInfo(0x1F600);
		}

		private static void PrintCodePointInfo(int codePoint)
		{
			var charInfo = UnicodeInfo.GetCharInfo(codePoint);
			Console.WriteLine(UnicodeInfo.GetDisplayText(charInfo));
			Console.WriteLine("U+" + codePoint.ToString("X4"));
			Console.WriteLine(charInfo.Name ?? charInfo.OldName);
			Console.WriteLine(charInfo.Category);
		}
	}
}

Explanations:

  • UnicodeInfo.GetCharInfo(int) returns a structure UnicodeCharInfo that provides access to various bit of information associated with the specified code point.
  • UnicodeInfo.GetDisplayText(UnicodeCharInfo) is a helper method that computes a display text for the specified code point. Since some code points are not designed to be displayed in a standalone fashion, this will try to make the specified character more displayable. The algorithm used to provide a display text is quite simplistic, and will only affect very specific code points. (e.g. Control Characters) For most code points, this will simply return the direct string representation.
  • UnicodeCharInfo.Name returns the name of the code point as specified by the Unicode standard. Please note that some characters will, by design, not have any name assigned to them in the standard. (e.g. control characters) Those characters, however may have alternate names assigned to them, that you can use as fallbacks. (e.g. UnicodeCharInfo.OldName)
  • UnicodeCharInfo.OldName returns the name of the character as defined in Unicode 1.0, when applicable and different from the current name.
  • UnicodeCharInfo.Category returns the category assigned to the specified code point.

Included Properties

From UCD

  • Name
  • General_Category
  • Canonical_Combining_Class
  • Bidi_Class
  • Decomposition_Type
  • Decomposition_Mapping
  • Numeric_Type (See also kAccountingNumeric/kOtherNumeric/kPrimaryNumeric. Those will set Numeric_Type to Numeric.)
  • Numeric_Value
  • Bidi_Mirrored
  • Unicode_1_Name
  • Simple_Uppercase_Maping
  • Simple_Lowercase_Mapping
  • Simple_Titlecase_Mapping
  • Name_Alias
  • Block
  • ASCII_Hex_Digit
  • Bidi_Control
  • Dash
  • Deprecated
  • Diacritic
  • Extender
  • Hex_Digit
  • Hyphen
  • Ideographic
  • IDS_Binary_Operator
  • IDS_Trinary_Operator
  • Join_Control
  • Logical_Order_Exception
  • Noncharacter_Code_Point
  • Other_Alphabetic
  • Other_Default_Ignorable_Code_Point
  • Other_Grapheme_Extend
  • Other_ID_Continue
  • Other_ID_Start
  • Other_Lowercase
  • Other_Math
  • Other_Uppercase
  • Pattern_Syntax
  • Pattern_White_Space
  • Quotation_Mark
  • Radical
  • Soft_Dotted
  • STerm
  • Terminal_Punctuation
  • Unified_Ideograph
  • Variation_Selector
  • White_Space
  • Lowercase
  • Uppercase
  • Cased
  • Case_Ignorable
  • Changes_When_Lowercased
  • Changes_When_Uppercased
  • Changes_When_Titlecased
  • Changes_When_Casefolded
  • Changes_When_Casemapped
  • Alphabetic
  • Default_Ignorable_Code_Point
  • Grapheme_Base
  • Grapheme_Extend
  • Grapheme_Link
  • Math
  • ID_Start
  • ID_Continue
  • XID_Start
  • XID_Continue
  • Unicode_Radical_Stroke (This is actually kRSUnicode from the Unihan database)
  • Code point cross references extracted from NamesList.txt

NB: The UCD property ISO_Comment will never be included since this one is empty in all new Unicode versions.

From Unicode Emoji

  • Emoji
  • Emoji_Presentation
  • Emoji_Modifier
  • Emoji_Modifier_Base
  • Emoji_Component
  • Extended_Pictographic

From Unihan

  • kAccountingNumeric
  • kOtherNumeric
  • kPrimaryNumeric
  • kRSUnicode
  • kDefinition
  • kMandarin
  • kCantonese
  • kJapaneseKun
  • kJapaneseOn
  • kKorean
  • kHangul
  • kVietnamese
  • kSimplifiedVariant
  • kTraditionalVariant

Regenerating the data

The project UnicodeInformation.Builder takes cares of generating a file named ucd.dat. This file contains Unicode data compressed by .NET's deflate algorithm, and should be included in UnicodeInformation.dll at compilation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].