skia2/tools
Ben Wagner 2868b78f46 Improve utf16/utf8 mismatch with ubidi.
The ubidi code only works with utf16 and SkTextBlob only with utf8. This
requires translating indexes. The current code starts cold when
translating indexes for each run, leading to taking O(n^2) time on the
number of runs. However, since this code is iterating over the runs in
order and each run begins where the last left off, simply keeping the
previous run's utf8 and utf16 end positions and using them as the next
starting position makes this O(N).

Change-Id: I921a87511fb4cdf5f6e92cd483959cf758d95306
Reviewed-on: https://skia-review.googlesource.com/41503
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-09-05 14:44:15 +00:00
..
bookmaker bookmaker spelling with fixed linux build 2017-09-01 20:10:51 +00:00
copyright Script to automatically update copyright notices in C/C++ source code. 2011-07-28 14:29:58 +00:00
debugger Rename methods and enum on SkClipStack::Element to indicate "device space" 2017-08-30 15:58:12 +00:00
fiddle Add Make[backend] calls for creating GrContexts 2017-07-25 14:33:03 +00:00
flags Add FIFO thread pool, use it for most things. 2017-09-01 16:19:47 +00:00
gpu Cosmetic changes to GrDrawOpAtlas 2017-09-01 16:24:48 +00:00
lua Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
mdbviz Add gn plumbing for mdbviz tool 2017-09-05 13:57:44 +00:00
shape Improve utf16/utf8 mismatch with ubidi. 2017-09-05 14:44:15 +00:00
skdiff use unique_ptr for codec factories 2017-07-25 15:35:23 +00:00
skiaserve Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
skp Chromium lkgr is no longer updated. Use lkcr 2017-08-03 12:41:36 +00:00
skpbench Update gpu caps for valid sample counts. 2017-07-19 19:13:25 +00:00
svg Create new set of SVGs 2017-08-16 15:42:55 +00:00
timer SkTime::GetNSecs() 2015-10-23 07:02:06 -07:00
trace Optimize the size of our JSON 2017-08-17 11:51:26 +00:00
viewer Get viewer running on iOS 2017-09-01 17:30:57 +00:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
add_codereview_message.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
AndroidSkDebugToStdOut.cpp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
BigPathBench.inc Factor out VisualBench timing code into a helper class 2015-10-05 07:23:30 -07:00
build_command_buffer.py Improvements to build_command_buffer.py 2016-11-04 10:54:54 -07:00
BUILD_simulator.py Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching. 2015-12-01 11:12:05 -08:00
check-headers-self-sufficient header cleanup 2017-07-05 15:18:52 +00:00
chrome_fuzz.cpp Fix SkFILEStream. 2017-03-10 19:58:46 +00:00
colorspaceinfo.cpp Replace interp() with clut_{3,4}D stages. 2017-08-10 14:34:35 +00:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CrashHandler.cpp SkLeanWindows.h: #include "Windows.h" fewer places 2016-06-07 17:21:10 -07:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
create_flutter_test_images.cpp Add tool to create test images with interesting color profiles 2017-05-17 18:15:20 +00:00
create_test_font.cpp Remove internal use of SkTypeface::Style. 2017-07-27 21:30:45 +00:00
doxygen_footer.txt Fix update-doxygen, which fails when skia-autogen is reset 2012-09-26 16:09:43 +00:00
dump_record.cpp Revert "Revert "Reland: Remove SkLights include from SkCanvas.h"" 2017-05-03 19:17:11 +00:00
DumpRecord.cpp update deferred 2016-10-05 19:25:35 +00:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
embed_resources.py Add option to embed font data into executable. 2015-03-30 12:53:48 -07:00
find_run_binary.py Create a common utility for finding and running binaries in out/ 2014-02-07 18:41:49 +00:00
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim add a way to get code coverage 2013-09-13 19:32:43 +00:00
generate_fir_coeff.py Fix metrics on Windows. 2013-07-27 20:37:56 +00:00
generate_vk_interface.sh Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time. 2016-02-22 09:56:40 -05:00
get_current_monitor_profile.cpp Monitor profile tool, now with Windows support, too! 2016-07-12 15:06:25 -07:00
get_images_from_skps.cpp use unique_ptr for codec factories 2017-07-25 15:35:23 +00:00
git-sync-deps tools/git-sync-deps: less verbose when fetch is needed 2017-02-13 19:53:27 +00:00
gpuveto.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
gyp GN 2016-06-23 10:29:30 -07:00
imgblur.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
imgslice.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
install_dependencies.sh Add some required packages to tools/install_dependencies.sh 2016-09-02 05:21:40 -07:00
ios_utils.h iOS: cd into Documents folder at startup 2017-02-06 15:06:45 +00:00
ios_utils.m iOS: cd into Documents folder at startup 2017-02-06 15:06:45 +00:00
iOSShell.cpp Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
iOSShell.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
jsondiff.py tools: Remove reference to svndiff. 2014-10-24 17:21:41 -02:00
LsanSuppressions.cpp Build LSAN suppressions into the test binaries. 2016-09-01 07:06:54 -07:00
merge_static_libs.py Build Skia as a static library 2012-10-10 19:45:51 +00:00
milestone.py SkPDF: milestone in metadata, also SkMilestone.h 2016-03-29 09:09:29 -07:00
mirror-dev.sh Land Ben's 32-bit symlink script. 2015-02-03 10:43:28 -05:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
ok_dsts.cpp ok: add 8888 and rp dsts 2017-06-13 14:25:41 +00:00
ok_engines.cpp ok, rate limit forking 2017-09-01 15:40:37 +00:00
ok_srcs.cpp Add missing #include <stdlib.h> 2017-08-16 02:19:37 +00:00
ok_test.cpp sprinkle more tracing in GM, tests, and ok, and add TRACE_FUNC 2017-07-24 20:02:07 +00:00
ok_vias.cpp sprinkle more tracing in GM, tests, and ok, and add TRACE_FUNC 2017-07-24 20:02:07 +00:00
ok.cpp use fcntl() to lock/unlock fds 2017-08-30 18:55:47 +00:00
ok.h factor Engine out of ok core 2017-07-26 21:36:40 +00:00
OverwriteLine.h ios fixes 2014-07-11 12:14:51 -07:00
parse_llvm_coverage.py Walk through files in parse_llvm_coverage.py instead of using 'git ls-files' 2016-04-18 04:18:56 -07:00
pathops_sorter.htm add nonsquare scale to pathops sorter tool 2017-06-02 19:30:07 +00:00
pathops_visualizer.htm keep integral rectangle intersections integral 2017-04-18 16:40:48 +00:00
picture_utils.cpp convert over to 2d-mode 2017-07-20 19:50:32 +00:00
picture_utils.h Move DM png code to picture_utils, for use by other tools. 2016-04-19 09:18:11 -07:00
pinspect.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
ProcStats.cpp Fix getMaxResidentSetSizeMB() on iOS. 2017-02-06 17:06:11 +00:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
public_headers_warnings_check.cpp GN: add public headers warnings check. 2016-11-16 19:27:29 +00:00
random_parse_path.cpp Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
random_parse_path.h Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
reformat-json.py add reformat-json.py script 2013-07-19 15:45:22 +00:00
Registry.h move SkTRegister.h into tools 2017-01-11 19:53:36 +00:00
Resources.cpp add Make factory to SkMemoryStream (simplify call-sites) 2017-07-26 15:59:49 +00:00
Resources.h have resources return unique_ptr for stream 2017-07-23 18:24:24 +00:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
sanitize_source_files.py Clean up more references to GYP. 2017-02-06 17:55:35 +00:00
sk_tool_utils_flags.h Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
sk_tool_utils_font.cpp tools: s/SkAutoTUnref/sk_sp/ 2016-11-03 21:00:34 +00:00
sk_tool_utils.cpp Add Chinese fling sample 2017-08-16 13:45:57 +00:00
sk_tool_utils.h Add Chinese fling sample 2017-08-16 13:45:57 +00:00
skhello.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
SkJSONCPP.h Move SkJSONCPP.h to tools. It tool-only. 2016-07-26 12:41:27 -07:00
skp_parser.cpp Revert[2] "Change SkCanvas to *not* inherit from SkRefCnt" 2016-11-13 18:31:13 +00:00
skpinfo.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
skpmaker.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
Stats.h Consolidate SK_CRASH and sk_throw into SK_ABORT 2016-01-29 08:51:04 -08:00
test_all.py skimage, die die die 2014-12-15 12:47:52 -08:00
test_font_index.inc Add strikeout font metrics. 2017-07-21 18:59:05 +00:00
test_font_monospace.inc Add strikeout font metrics. 2017-07-21 18:59:05 +00:00
test_font_sans_serif.inc Add strikeout font metrics. 2017-07-21 18:59:05 +00:00
test_font_serif.inc Add strikeout font metrics. 2017-07-21 18:59:05 +00:00
test_gpuveto.py Remove dashing from gpu veto 2014-06-18 07:34:39 -07:00
test_pdfs.py Add an SKP to PDF rendered. test_pdfs.py will be hooked up in buildbot testing later. 2012-10-10 15:20:34 +00:00
ThermalManager.cpp Is it just me or is this logging just noise? 2016-09-16 11:50:13 -07:00
ThermalManager.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
UrlDataManager.cpp Create image cache for use by json canvas 2016-02-08 07:08:21 -08:00
UrlDataManager.h Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
valgrind.supp Valgrind suppressions for new Debian 9 GPU bot 2017-06-30 14:53:38 +00:00
whitelist_typefaces.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
win_dbghelp.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
win_dbghelp.h Collect minidump and print callstack if an app chrashes. 2013-03-08 18:00:16 +00:00
win_lcid.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
xsan.blacklist GN: add sanitize arg 2016-09-08 08:39:34 -07:00