CssFont.g4 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. grammar CssFont;
  2. import BasePrimitives, CssUnit;
  3. fontCss
  4. : (fontStyle WS) (fontWeight WS)? fontSize WS fontFamily
  5. | (fontWeight WS) (fontStyle WS)? fontSize WS fontFamily
  6. | fontSize WS fontFamily
  7. ;
  8. fontAttribute
  9. : fontStyle
  10. | fontWeight
  11. | CSS3_FONT_ATTR_NORMAL
  12. ;
  13. fontFamily
  14. : fontFamilyName CS fontFamilyGeneric
  15. | fontFamilyName
  16. | fontFamilyGeneric
  17. ;
  18. fontFamilyName
  19. : TEXT
  20. | word
  21. ;
  22. fontFamilyGeneric
  23. : CSS3_FONT_GENERIC_SERIF
  24. | CSS3_FONT_GENERIC_SAN_SERIF
  25. | CSS3_FONT_GENERIC_MONOSPACE
  26. | CSS3_FONT_GENERIC_CURSIVE
  27. | CSS3_FONT_GENERIC_FANTASY
  28. | CSS3_FONT_GENERIC_SYSTEM_UI
  29. | CSS3_FONT_GENERIC_UI_SERIF
  30. | CSS3_FONT_GENERIC_UI_SANS_SERIF
  31. | CSS3_FONT_GENERIC_UI_MONOSPACE
  32. | CSS3_FONT_GENERIC_UI_ROUNDED
  33. | CSS3_FONT_GENERIC_MATH
  34. | CSS3_FONT_GENERIC_EMOJI
  35. | CSS3_FONT_GENERIC_FANGSONG
  36. ;
  37. fontSize
  38. : length (FSLASH length)?
  39. ;
  40. fontStyle
  41. : CSS3_FONT_STYLE_ITALIC
  42. | CSS3_FONT_STYLE_OBLIQUE (WS angle)?
  43. ;
  44. fontWeight
  45. : CSS3_FONT_WEIGHT_BOLD
  46. | CSS3_FONT_WEIGHT_LIGHTER
  47. | CSS3_FONT_WEIGHT_BOLDER
  48. | numberInt
  49. ;
  50. CSS3_FONT_GENERIC_SERIF : 'serif';
  51. CSS3_FONT_GENERIC_SAN_SERIF : 'sans-serif';
  52. CSS3_FONT_GENERIC_MONOSPACE : 'monospace';
  53. CSS3_FONT_GENERIC_CURSIVE : 'cursive';
  54. CSS3_FONT_GENERIC_FANTASY : 'fantasy';
  55. CSS3_FONT_GENERIC_SYSTEM_UI : 'system-ui';
  56. CSS3_FONT_GENERIC_UI_SERIF : 'ui-serif';
  57. CSS3_FONT_GENERIC_UI_SANS_SERIF : 'ui-sans-serif';
  58. CSS3_FONT_GENERIC_UI_MONOSPACE : 'ui-monospace';
  59. CSS3_FONT_GENERIC_UI_ROUNDED : 'ui-rounded';
  60. CSS3_FONT_GENERIC_MATH : 'math';
  61. CSS3_FONT_GENERIC_EMOJI : 'emoji';
  62. CSS3_FONT_GENERIC_FANGSONG : 'fangsong';
  63. CSS3_FONT_ATTR_NORMAL : 'normal';
  64. CSS3_FONT_STYLE_ITALIC : 'italic';
  65. CSS3_FONT_STYLE_OBLIQUE : 'oblique';
  66. CSS3_FONT_WEIGHT_BOLD : 'bold';
  67. CSS3_FONT_WEIGHT_LIGHTER : 'lighter';
  68. CSS3_FONT_WEIGHT_BOLDER : 'bolder';