Specification.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #pragma warning disable
  2. namespace ExCSS.Model
  3. {
  4. internal static class Specification
  5. {
  6. internal const char EndOfFile = (char)0x1a;
  7. internal const char Tilde = (char)0x7e;
  8. internal const char Pipe = (char)0x7c;
  9. internal const char Null = (char)0x0;
  10. internal const char Ampersand = (char)0x26;
  11. internal const char Hash = (char)0x23;
  12. internal const char DollarSign = (char)0x24;
  13. internal const char Simicolon = (char)0x3b;
  14. internal const char Asterisk = (char)0x2a;
  15. internal const char EqualSign = (char)0x3d;
  16. internal const char PlusSign = (char)0x2b;
  17. internal const char Comma = (char)0x2c;
  18. internal const char Period = (char)0x2e;
  19. internal const char Accent = (char)0x5e;
  20. internal const char At = (char)0x40;
  21. internal const char LessThan = (char)0x3c;
  22. internal const char GreaterThan = (char)0x3e;
  23. internal const char SingleQuote = (char)0x27;
  24. internal const char DoubleQuote = (char)0x22;
  25. internal const char QuestionMark = (char)0x3f;
  26. internal const char Tab = (char)0x09;
  27. internal const char LineFeed = (char)0x0a;
  28. internal const char CarriageReturn = (char)0x0d;
  29. internal const char FormFeed = (char)0x0c;
  30. internal const char Space = (char)0x20;
  31. internal const char Solidus = (char)0x2f;
  32. internal const char ReverseSolidus = (char)0x5c;
  33. internal const char Colon = (char)0x3a;
  34. internal const char Em = (char)0x21;
  35. internal const char MinusSign = (char)0x2d;
  36. internal const char Replacement = (char)0xfffd;
  37. internal const char Underscore = (char)0x5f;
  38. internal const char ParenOpen = (char)0x28;
  39. internal const char ParenClose = (char)0x29;
  40. internal const char Percent = (char)0x25;
  41. internal const char SquareBracketOpen = (char)0x5b;
  42. internal const char SquareBracketClose = (char)0x5d;
  43. internal const char CurlyBraceOpen = (char)0x7b;
  44. internal const char CurlyBraceClose = (char)0x7d;
  45. internal const int MaxPoint = 0x10FFFF;/// The maximum allowed codepoint (defined in Unicode).
  46. internal static bool IsNonPrintable(this char c)
  47. {
  48. return (c >= 0x0 && c <= 0x8) || (c >= 0xe && c <= 0x1f) || (c >= 0x7f && c <= 0x9f);
  49. }
  50. internal static bool IsLetter(this char c)
  51. {
  52. return IsUppercaseAscii(c) || IsLowercaseAscii(c);
  53. }
  54. internal static bool IsName(this char c)
  55. {
  56. return c >= 0x80 || c.IsLetter() || c == Underscore || c == MinusSign || IsDigit(c);
  57. }
  58. internal static bool IsNameStart(this char c)
  59. {
  60. return c >= 0x80 || IsUppercaseAscii(c) || IsLowercaseAscii(c) || c == Underscore;
  61. }
  62. internal static bool IsLineBreak(this char c)
  63. {
  64. //line feed, carriage return
  65. return c == LineFeed || c == CarriageReturn;
  66. }
  67. internal static bool IsSpaceCharacter(this char c)
  68. {
  69. //white space, tab, line feed, form feed, carriage return
  70. return c == Space || c == Tab || c == LineFeed || c == FormFeed || c == CarriageReturn;
  71. }
  72. internal static bool IsDigit(this char c)
  73. {
  74. return c >= 0x30 && c <= 0x39;
  75. }
  76. internal static bool IsUppercaseAscii(this char c)
  77. {
  78. return c >= 0x41 && c <= 0x5a;
  79. }
  80. internal static bool IsLowercaseAscii(this char c)
  81. {
  82. return c >= 0x61 && c <= 0x7a;
  83. }
  84. internal static bool IsHex(this char c)
  85. {
  86. return IsDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);
  87. }
  88. }
  89. }
  90. #pragma warning restore