| OLD | NEW |
| 1 // | 1 // |
| 2 // Copyright 2014 Google Inc. All rights reserved. | 2 // Copyright 2014 Google Inc. All rights reserved. |
| 3 // | 3 // |
| 4 // Use of this source code is governed by a BSD-style | 4 // Use of this source code is governed by a BSD-style |
| 5 // license that can be found in the LICENSE file or at | 5 // license that can be found in the LICENSE file or at |
| 6 // https://developers.google.com/open-source/licenses/bsd | 6 // https://developers.google.com/open-source/licenses/bsd |
| 7 // | 7 // |
| 8 | 8 |
| 9 part of charted.core.utils; | 9 part of charted.core.utils; |
| 10 | 10 |
| 11 /// Charts are always drawn with LTR context. | 11 /// Charts are always drawn with LTR context. |
| 12 BidiFormatter _bidiFormatter = new BidiFormatter.LTR(); | 12 BidiFormatter _bidiFormatter = new BidiFormatter.LTR(); |
| 13 | 13 |
| 14 /// Fix direction of HTML using <span dir="..."> for RTL when required | 14 /// Fix direction of HTML using <span dir="..."> for RTL when required |
| 15 fixMarkupDirection(String markup) => | 15 fixMarkupDirection(String markup) => |
| 16 _bidiFormatter.wrapWithSpan(markup, isHtml:true); | 16 _bidiFormatter.wrapWithSpan(markup, isHtml: true); |
| 17 | 17 |
| 18 /// Fix direction of text using unicode markers for RTL when required | 18 /// Fix direction of text using unicode markers for RTL when required |
| 19 /// This is a simplified version of BidiFormatter.wrapWithUnicode that | 19 /// This is a simplified version of BidiFormatter.wrapWithUnicode that |
| 20 /// is meant to be used for small labels only (Eg: axis ticks). | 20 /// is meant to be used for small labels only (Eg: axis ticks). |
| 21 String fixSimpleTextDirection(String text) { | 21 String fixSimpleTextDirection(String text) { |
| 22 TextDirection direction = estimateDirectionOfSimpleText(text); | 22 TextDirection direction = estimateDirectionOfSimpleText(text); |
| 23 if (TextDirection.RTL == direction) { | 23 if (TextDirection.RTL == direction) { |
| 24 var marker = direction == TextDirection.RTL ? Bidi.RLE : Bidi.LRE; | 24 var marker = direction == TextDirection.RTL ? Bidi.RLE : Bidi.LRE; |
| 25 return "${marker}$text${Bidi.PDF}"; | 25 return "${marker}$text${Bidi.PDF}"; |
| 26 } | 26 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 47 } else if (_digitsRegExp.hasMatch(token)) { | 47 } else if (_digitsRegExp.hasMatch(token)) { |
| 48 hasWeaklyLtr = true; | 48 hasWeaklyLtr = true; |
| 49 } | 49 } |
| 50 } | 50 } |
| 51 if (total == 0) { | 51 if (total == 0) { |
| 52 return hasWeaklyLtr ? TextDirection.LTR : TextDirection.UNKNOWN; | 52 return hasWeaklyLtr ? TextDirection.LTR : TextDirection.UNKNOWN; |
| 53 } else { | 53 } else { |
| 54 return rtlCount > 0.4 * total ? TextDirection.RTL : TextDirection.LTR; | 54 return rtlCount > 0.4 * total ? TextDirection.RTL : TextDirection.LTR; |
| 55 } | 55 } |
| 56 } | 56 } |
| OLD | NEW |