| 42 | } |
| 43 | |
| 44 | @Override |
| 45 | public String toString() { |
| 46 | String range = ""; |
| 47 | if (_start > 0 || _end < Long.MAX_VALUE) { |
| 48 | range = "[" + (_start > 0 ? _start : "") + ":" + (_end < Long.MAX_VALUE ? _end : "") + "]"; |
| 49 | } |
| 50 | String valuePrefix = ""; |
| 51 | String valueSuffix = ""; |
| 52 | if (_value == 0) |
| 53 | valuePrefix = "-"; |
| 54 | else if (_value == 1) |
| 55 | valuePrefix = "+"; |
| 56 | else |
| 57 | valueSuffix = "=" + _value; |
| 58 | return "FontFeature(" + valuePrefix + getTag() + range + valueSuffix + ")"; |
| 59 | } |
| 60 | |
| 61 | public static final Pattern _splitPattern = Pattern.compile("\\s+"); |
| 62 | public static final Pattern _featurePattern = Pattern.compile("(?<sign>[-+])?(?<tag>[a-z0-9]{4})(?:\\[(?<start>\\d+)?:(?<end>\\d+)?\\])?(?:=(?<value>\\d+))?"); |