diff --git a/README.md b/README.md index bc42689..add3ad0 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,12 @@ python paint.py ## Unicode Symbols and Emojis for Paint Tools +The first thing I did in this project was to collect possible characters to represent all the tool icons in MS Paint, to test feasibility. +In other words, I wanted to gauge how good of a recreation it would be possible to achieve, starting from looks. +Unfortunately, I haven't run into any significant roadblocks, so I'm apparently recreating MS Paint. [Again.](https://jspaint.app) + +These are the symbols I've found so far: + - Free-Form Select: โœ‚๏ธ๐Ÿ“๐Ÿ†“๐Ÿ•ธโœจโš๐Ÿซฅ๐Ÿ‡ซ/๐Ÿ‡ธโ—Œ - Rectangular Select: โฌšโ–ง๐Ÿ”ฒ - Eraser/Color Eraser: ๐Ÿงผ๐Ÿงฝ๐Ÿงน๐Ÿšซ๐Ÿ‘‹๐Ÿ—‘๏ธ @@ -43,13 +49,24 @@ python paint.py - Brush: ๐Ÿ–Œ๏ธ๐Ÿ–Œ๐Ÿ‘จโ€๐ŸŽจ๐Ÿง‘โ€๐ŸŽจ๐Ÿ’… - Airbrush: ๐Ÿ’จแ–œโ•”๐Ÿงด๐Ÿฅค๐Ÿซ  - Text: ๐Ÿ†Ž๐Ÿ“๐Ÿ“„๐Ÿ“ƒ๐Ÿ”ค๐Ÿ“œA๏ผก -- Line: ๐Ÿ“๐Ÿ“‰๐Ÿ“ˆโŸ๐ˆโงน -- Curve: โ†ช๏ธ๐Ÿช๐ŸŒ™ใ€ฐ๏ธโ—กโ— ~โˆผโ‰ˆโˆฝโˆฟใ€œใ€ฐ๏น‹๏นโ‰ˆโ‰‹๏ฝž -- Rectangle: โ–ญโ–ฌโ–ฎโ–ฏโ—ผ๏ธโ—ป๏ธโฌœโฌ›๐ŸŸง๐ŸŸฉ -- Polygon: โ–™๐—Ÿ๐™‡โฌฃโฌŸโ–ณโ–ฒ๐Ÿ”บ๐Ÿ”ป๐Ÿ”ท๐Ÿ”ถ -- Ellipse: โฌญ๐Ÿ”ด๐Ÿ”ต๐Ÿ”ถ๐Ÿ”ท๐Ÿ”ธ๐Ÿ”น๐ŸŸ ๐ŸŸก๐ŸŸข๐ŸŸฃ๐Ÿซง +- Line: ๐Ÿ“๐Ÿ“‰๐Ÿ“ˆโŸ๐ˆโ•ฒโงน\โงตโˆ– +- Curve: โ†ช๏ธ๐Ÿช๐ŸŒ™ใ€ฐ๏ธโ—กโ— ~โˆผโ‰ˆโˆฝโˆฟใ€œใ€ฐ๏น‹๏นโ‰ˆโ‰‹๏ฝžโ“ +- Rectangle: โ–ญโ–ฌโ–ฎโ–ฏ๐ŸŸฅ๐ŸŸง๐ŸŸจ๐ŸŸฉ๐ŸŸฆ๐ŸŸช๐ŸŸซโฌ›โฌœโ—ผ๏ธโ—ป๏ธโ—พโ—ฝโ–ช๏ธโ–ซ๏ธ +- Polygon: โ–™๐—Ÿ๐™‡๏น„ใ€โฌฃโฌŸ๐Ÿ”ถ๐Ÿ”ท๐Ÿ”ธ๐Ÿ”น๐Ÿ”บ๐Ÿ”ปโ–ณโ–ฒ +- Ellipse: โฌญโญ•๐Ÿ”ด๐ŸŸ ๐ŸŸก๐ŸŸข๐Ÿ”ต๐ŸŸฃ๐ŸŸคโšซโšช๐Ÿซง - Rounded Rectangle: โ–ขโฌœโฌ› +The default symbols used may not be the best on your particular system, so I may add some kind of configuration for this in the future. + +### Cursor + +A crosshair cursor could use one of `+โœœโœ›โœšโ•‹โ•ฌ`, but whilst that imitates the look, it might be better to show the pixel under the cursor, i.e. character cell, surrounded by dashes, like this: + +``` + โ•ป +โ•บโ–ˆโ•ธ + โ•น +``` ## See Also diff --git a/paint.py b/paint.py index 25cb41f..d5c398b 100644 --- a/paint.py +++ b/paint.py @@ -50,11 +50,11 @@ class Tool(Enum): # - Brush: ๐Ÿ–Œ๏ธ๐Ÿ–Œ๐Ÿ‘จโ€๐ŸŽจ๐Ÿง‘โ€๐ŸŽจ๐Ÿ’… # - Airbrush: ๐Ÿ’จแ–œโ•”๐Ÿงด๐Ÿฅค๐Ÿซ  # - Text: ๐Ÿ†Ž๐Ÿ“๐Ÿ“„๐Ÿ“ƒ๐Ÿ”ค๐Ÿ“œA๏ผก - # - Line: ๐Ÿ“๐Ÿ“‰๐Ÿ“ˆโŸ๐ˆโงน - # - Curve: โ†ช๏ธ๐Ÿช๐ŸŒ™ใ€ฐ๏ธโ—กโ— ~โˆผโ‰ˆโˆฝโˆฟใ€œใ€ฐ๏น‹๏นโ‰ˆโ‰‹๏ฝž - # - Rectangle: โ–ญโ–ฌโ–ฎโ–ฏโ—ผ๏ธโ—ป๏ธโฌœโฌ›๐ŸŸง๐ŸŸฉ - # - Polygon: โ–™๐—Ÿ๐™‡โฌฃโฌŸโ–ณโ–ฒ๐Ÿ”บ๐Ÿ”ป๐Ÿ”ท๐Ÿ”ถ - # - Ellipse: โฌญ๐Ÿ”ด๐Ÿ”ต๐Ÿ”ถ๐Ÿ”ท๐Ÿ”ธ๐Ÿ”น๐ŸŸ ๐ŸŸก๐ŸŸข๐ŸŸฃ๐Ÿซง + # - Line: ๐Ÿ“๐Ÿ“‰๐Ÿ“ˆโŸ๐ˆโ•ฒโงน\โงตโˆ– + # - Curve: โ†ช๏ธ๐Ÿช๐ŸŒ™ใ€ฐ๏ธโ—กโ— ~โˆผโ‰ˆโˆฝโˆฟใ€œใ€ฐ๏น‹๏นโ‰ˆโ‰‹๏ฝžโ“ + # - Rectangle: โ–ญโ–ฌโ–ฎโ–ฏ๐ŸŸฅ๐ŸŸง๐ŸŸจ๐ŸŸฉ๐ŸŸฆ๐ŸŸช๐ŸŸซโฌ›โฌœโ—ผ๏ธโ—ป๏ธโ—พโ—ฝโ–ช๏ธโ–ซ๏ธ + # - Polygon: โ–™๐—Ÿ๐™‡๏น„ใ€โฌฃโฌŸ๐Ÿ”ถ๐Ÿ”ท๐Ÿ”ธ๐Ÿ”น๐Ÿ”บ๐Ÿ”ปโ–ณโ–ฒ + # - Ellipse: โฌญโญ•๐Ÿ”ด๐ŸŸ ๐ŸŸก๐ŸŸข๐Ÿ”ต๐ŸŸฃ๐ŸŸคโšซโšช๐Ÿซง # - Rounded Rectangle: โ–ขโฌœโฌ› return {