(Canvas canvas, int width, int height, float dpi, int xpos, int ypos)
| 15 | public final FontMgr fontMgr = FontMgr.getDefault(); |
| 16 | |
| 17 | @Override |
| 18 | public void draw(Canvas canvas, int width, int height, float dpi, int xpos, int ypos) { |
| 19 | canvas.translate(100, 100); |
| 20 | try (var shaper = Shaper.makeShapeThenWrap();) { |
| 21 | ShapingOptions opts = ShapingOptions.DEFAULT; |
| 22 | Typeface face = fontMgr.matchFamilyStyleCharacter(null, FontStyle.NORMAL, new String[] { "ja" }, "刃".codePointAt(0)); |
| 23 | String text = "刃 ja " + face.getFamilyName(); |
| 24 | Iterator<LanguageRun> langIter = new TrivialLanguageRunIterator(text, "ja"); |
| 25 | try (ManagedString textUtf8 = new ManagedString(text); |
| 26 | FontMgrRunIterator fontIter = new FontMgrRunIterator(textUtf8, false, font, langIter, opts); |
| 27 | IcuBidiRunIterator bidiIter = new IcuBidiRunIterator(textUtf8, false, java.text.Bidi.DIRECTION_LEFT_TO_RIGHT); |
| 28 | HbIcuScriptRunIterator scriptIter = new HbIcuScriptRunIterator(textUtf8, false); |
| 29 | TextLineRunHandler runHandler = new TextLineRunHandler(textUtf8, false);) |
| 30 | { |
| 31 | // Iterator<ScriptRun> scriptIter = new TrivialScriptRunIterator(text, "Hrkt"); |
| 32 | // Iterator<ScriptRun> scriptIter = new TrivialScriptRunIterator(text, "Jpan"); |
| 33 | // Iterator<ScriptRun> scriptIter = new TrivialScriptRunIterator(text, "Zinh"); |
| 34 | // Iterator<ScriptRun> scriptIter = new TrivialScriptRunIterator(text, "Zyyy"); |
| 35 | // Iterator<ScriptRun> scriptIter = new TrivialScriptRunIterator(text, "Zzzz"); |
| 36 | |
| 37 | shaper.shape(textUtf8, fontIter, bidiIter, scriptIter, langIter, opts, width, runHandler); |
| 38 | try (TextLine line = runHandler.makeLine();) { |
| 39 | canvas.drawTextLine(line, 0, 0, textFill); |
| 40 | canvas.translate(0, 50); |
| 41 | } |
| 42 | } |
| 43 | |
| 44 | face = fontMgr.matchFamilyStyleCharacter(null, FontStyle.NORMAL, new String[] { "zh-Hans" }, "刃".codePointAt(0)); |
| 45 | text = "刃 zh-Hans " + face.getFamilyName(); |
| 46 | Iterator<ScriptRun> scriptIter = new TrivialScriptRunIterator(text, "Hans"); |
| 47 | langIter = new TrivialLanguageRunIterator(text, "zh"); |
| 48 | try (ManagedString textUtf8 = new ManagedString(text); |
| 49 | FontMgrRunIterator fontIter = new FontMgrRunIterator(textUtf8, false, font, langIter, opts); |
| 50 | IcuBidiRunIterator bidiIter = new IcuBidiRunIterator(textUtf8, false, java.text.Bidi.DIRECTION_LEFT_TO_RIGHT); |
| 51 | TextLineRunHandler runHandler = new TextLineRunHandler(textUtf8, false);) |
| 52 | { |
| 53 | |
| 54 | shaper.shape(textUtf8, fontIter, bidiIter, scriptIter, langIter, opts, width, runHandler); |
| 55 | try (TextLine line = runHandler.makeLine();) { |
| 56 | canvas.drawTextLine(line, 0, 0, textFill); |
| 57 | canvas.translate(0, 50); |
| 58 | } |
| 59 | } |
| 60 | |
| 61 | face = fontMgr.matchFamilyStyleCharacter(null, FontStyle.NORMAL, new String[] { "zh-Hant" }, "刃".codePointAt(0)); |
| 62 | text = "刃 zh-Hant " + face.getFamilyName(); |
| 63 | langIter = new TrivialLanguageRunIterator(text, "zh"); |
| 64 | scriptIter = new TrivialScriptRunIterator(text, "Hant"); |
| 65 | try (ManagedString textUtf8 = new ManagedString(text); |
| 66 | FontMgrRunIterator fontIter = new FontMgrRunIterator(textUtf8, false, font, langIter, opts); |
| 67 | IcuBidiRunIterator bidiIter = new IcuBidiRunIterator(textUtf8, false, java.text.Bidi.DIRECTION_LEFT_TO_RIGHT); |
| 68 | TextLineRunHandler runHandler = new TextLineRunHandler(textUtf8, false);) |
| 69 | { |
| 70 | shaper.shape(textUtf8, fontIter, bidiIter, scriptIter, langIter, opts, width, runHandler); |
| 71 | try (TextLine line = runHandler.makeLine();) { |
| 72 | canvas.drawTextLine(line, 0, 0, textFill); |
| 73 | canvas.translate(0, 50); |
| 74 | } |
nothing calls this directly
no test coverage detected