imazen / imageflow

High-performance image manipulation for web servers. Includes imageflow_server, imageflow_tool, and libimageflow
https://docs.imageflow.io/
GNU Affero General Public License v3.0
4.14k stars 140 forks source link

Add rounded corner support #599

Closed lilith closed 2 years ago

github-actions[bot] commented 2 years ago

@check-spelling-bot Report

:red_circle: Please review

Unrecognized words (530) ``` abcdef addl addrs aliceblue alloc alloca antiquewhite apps argc args argv asm aspx attr autogenerated Autorelease AVI backend bgcolor bitmaps bitset blanchedalmond blog blueviolet bmp bpp buf burlywood bzlib cadetblue calloc cassert cctype cerr cerrno certs cfg CFLAGS cfloat charset chdir chmod chown chsize cinfo classname closesocket cls cmath cmp cnt codepage colorspace compat comspec config constexpr consts coords Copyable copyfmt copyleft cornflowerblue cornsilk cout cplusplus cpp cron crtdbg csproj css cstddef cstdint cstdio cstdlib cstring ctime CTL ctx cxx CXXFLAGS darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet DATETIME dealloc decls declspec deeppink deepskyblue deps deque deref descr Deserialization deserialize dest dimgray dimgrey dirname dirs dll dllexport dllimport dockerfile DOCTYPE dodgerblue dotfile dpkg dropdowns dso dst dtors DWORD DYLD dylib elif endian Endianness endif endl ENOENT entrypoint enum envs epptr erfcf erff errno exe execve exitcode expr fabs fclose ffast FFFF ffi fflush fileno filepath filesystem filetypes FIXME floorf floralwhite fmax fmaxf fmin FNV fopen foreach forestgreen fprintf fread freedesktop freetype frontend fseek fsproj fstream ftell ftruncate fuctions fullname func fwrite gainsboro gcc gdb getc getchar getcwd getline getpid gettimeofday ghostwhite gitignore glibc globals gmon gmtime GNUC google graphviz grayscale greenyellow grep gzip hostname hotpink hpp href HRM htm html http idx ifdef ifndef ifstream img iml immintrin impl indianred interp intrinsics ints inttypes iomanip iosfwd iostream IPv isalnum isatty isnan IStream IVAR javascript jcr jmp jpeg jpg jquery json keygen KRB lavenderblush lawngreen LDFLAGS ldx lemonchiffon len lhs libc libcurl libexec libgd Libstdc lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow limegreen LINEINFO linux localhost localtime logfile longjmp lround lru lseek LTRIM lua machdep macosx malloc maxage mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred memcmp memcpy memset metadata mfpmath middleware midnightblue mintcream mistyrose miterlimit mkdir moz Mozilla mul multiline Mutex namespace navajowhite nbsp NDEBUG ndx noexcept NOINPUT NONINFRINGEMENT nothrow nowrap npos nullptr nuspec ofs ofstream oldlace olivedrab ONSTACK opensource openssl optimisation orangered ostream ostringstream outfile palegoldenrod palegreen paleturquoise palevioletred papayawhip params passwd pbase pdb pdf peachpuff perror PFree php Pid PKCS placeholders plugin png powderblue powf pptr pragma prefetch preload premultiplied prepends Prereq printf ptr ptrace pwd QNX RAII rbegin RBRACE rdbuf readlink readme readonly realloc rebeccapurple regex resizable resync rfind rgb rgba rhs rng rosybrown roundf royalblue rss rtf runtimes saddlebrown sandybrown scp seagreen seekable segfault setfill setjmp setp setprecision setw SIGABRT sigaction sigaltstack SIGFPE SIGINT SIGSEGV SIGSTKSZ SIGTERM SIGTRAP sizeof skyblue slateblue slategray slategrey snprintf Solaris sourceforge springgreen sprintf sputc sqrtf srand srandom src sstream stb stdarg stdbool STDC stderr stdexcept stdin stdint stdio stdlib stdout steelblue strcmp streambuf strftime stringstream strlen strncmp strnlen Stroustrup strrchr structs stylesheet substr svg swappable sys syslog systeminfo testsuite ths tif timespec timeval timezone TLSv tmp tmpl tolower toml tooltips tpl transitioning trunc ttl typedef typemap typename uint ulimit ulong uname uncomment undef unicode unistd Unrecognised url usec username usr utf utils uuid validator vbproj vec versioned Versioning vhost vnd vsn vsnprintf vtables Wcast wchar website whitesmoke wiki wikipedia WINAPI Wno woff WORDSIZE workflow wstr wstring www xhtml xlink xml xmlns xmlwriter xsd xsl XXXX yaml yellowgreen yml zlib zoneinfo ```
Previously acknowledged words that are now absent autorelease classpath COLORSPACES dockerfiles dotfiles endianness eol erl gitattributes jpegs mallocs ostringstreams Pragmas Readme resx SRCS testsuites urls xproj
Available dictionaries could cover words not in the dictionary [cspell:cpp/cpp.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/cpp/cpp.txt) (104293) covers 286 of them [cspell:html/html.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/html/html.txt) (542) covers 119 of them [cspell:css/css.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/css/css.txt) (993) covers 114 of them [cspell:filetypes/filetypes.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/filetypes/filetypes.txt) (337) covers 42 of them [cspell:django/django.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/django/django.txt) (2342) covers 30 of them [cspell:golang/go.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/golang/go.txt) (7745) covers 24 of them [cspell:fullstack/fullstack.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/fullstack/fullstack.txt) (181) covers 24 of them [cspell:aws/aws.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/aws/aws.txt) (1485) covers 23 of them [cspell:java/java.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/java/java.txt) (33524) covers 20 of them [cspell:npm/npm.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/npm/npm.txt) (671) covers 17 of them [cspell:rust/rust.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/rust/rust.txt) (112) covers 16 of them [cspell:scala/scala.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/scala/scala.txt) (2752) covers 13 of them [cspell:python/python.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/python/python.txt) (364) covers 11 of them [cspell:lua/lua.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/lua/lua.txt) (391) covers 10 of them [cspell:csharp/csharp.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/csharp/csharp.txt) (123) covers 8 of them [cspell:ruby/ruby.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/ruby/ruby.txt) (354) covers 6 of them [cspell:php/php.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/php/php.txt) (9785) covers 5 of them [cspell:dotnet/dotnet.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/dotnet/dotnet.txt) (9824) covers 3 of them [cspell:bash/bash-words.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/bash/bash-words.txt) (22) covers 1 of them [cspell:ada/ada.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/ada/ada.txt) (72) covers 1 of them Consider adding them using: ``` with: extra_dictionaries: cspell:cpp/cpp.txt cspell:html/html.txt cspell:css/css.txt cspell:filetypes/filetypes.txt cspell:django/django.txt cspell:golang/go.txt cspell:fullstack/fullstack.txt cspell:aws/aws.txt cspell:java/java.txt cspell:npm/npm.txt cspell:rust/rust.txt cspell:scala/scala.txt cspell:python/python.txt cspell:lua/lua.txt cspell:csharp/csharp.txt cspell:ruby/ruby.txt cspell:php/php.txt cspell:dotnet/dotnet.txt cspell:bash/bash-words.txt cspell:ada/ada.txt ``` To stop checking additional dictionaries, add: ``` with: check_extra_dictionaries: '' ```
Some files were automatically ignored These sample patterns would exclude them: ``` ^\.gitattributes$ ^\.idea/dictionaries/lilith\.xml$ ^c_components/\.idea/imageflow_c\.iml$ ^c_components/src/lib\.rs$ ^ci/cloud/mods/download_imageflow\.sh$ ^ci/packaging_extras/requirements/ubuntu_16_04-x86_64\.txt$ ^ci/packaging_extras/requirements/ubuntu_18_04-x86_64\.txt$ ^docs/src/imageflow_server\.md$ ^docs/src/imageflow_tool\.md$ ``` You should consider adding them to: ``` .github/actions/spell-check/excludes.txt ``` File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use `patterns.txt` to exclude portions, add items to the dictionary (e.g. by adding them to `allow.txt`), or fix typos.
To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands ... in a clone of the [git@github.com:imazen/imageflow.git](https://github.com/imazen/imageflow.git) repository on the `roundedcorners` branch: ``` update_files() { perl -e ' my @expect_files=qw('".github/actions/spell-check/expect/4fd706fd879e80192d1ecef241faca522e84be19.txt .github/actions/spell-check/expect/expect.txt"'); @ARGV=@expect_files; my @stale=qw('"$patch_remove"'); my $re=join "|", @stale; my $suffix=".".time(); my $previous=""; sub maybe_unlink { unlink($_[0]) if $_[0]; } while (<>) { if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; } next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print; }; maybe_unlink($previous);' perl -e ' my $new_expect_file=".github/actions/spell-check/expect/9cc888ee75d767cafbb55c960b3c19376181db23.txt"; use File::Path qw(make_path); use File::Basename qw(dirname); make_path (dirname($new_expect_file)); open FILE, q{<}, $new_expect_file; chomp(my @words = ); close FILE; my @add=qw('"$patch_add"'); my %items; @items{@words} = @words x (1); @items{@add} = @add x (1); @words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items; open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; }; close FILE; system("git", "add", $new_expect_file); ' (cat '.github/actions/spell-check/excludes.txt' - < '.github/actions/spell-check/excludes.txt.temp' && mv '.github/actions/spell-check/excludes.txt.temp' '.github/actions/spell-check/excludes.txt' } comment_json=$(mktemp) curl -L -s -S \ -H "Content-Type: application/json" \ "https://api.github.com/repos/imazen/imageflow/issues/comments/1132092408" > "$comment_json" comment_body=$(mktemp) jq -r ".body // empty" "$comment_json" > $comment_body rm $comment_json patch_remove=$(perl -ne 'next unless s{^(.*)
$}{$1}; print' < "$comment_body") patch_add=$(perl -e '$/=undef; $_=<>; print "$1" if m{Unrecognized words[^<]*\n*```\n*([^<]*)```\n*$}m;' < "$comment_body") update_files rm $comment_body git add -u ```