From 1fe69d9d7e7d2c60d939b0cc37c724cb6e32f01e Mon Sep 17 00:00:00 2001 From: Willem Date: Wed, 30 Jul 2025 14:05:55 +0200 Subject: [PATCH] Saved unicode APL enum for later possible use --- .../org/x4o/fc18/cake2/zero33/FCDotAPL.java | 270 ++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 nx01-x4o-fc18/src/test/java/org/x4o/fc18/cake2/zero33/FCDotAPL.java diff --git a/nx01-x4o-fc18/src/test/java/org/x4o/fc18/cake2/zero33/FCDotAPL.java b/nx01-x4o-fc18/src/test/java/org/x4o/fc18/cake2/zero33/FCDotAPL.java new file mode 100644 index 0000000..542ad0b --- /dev/null +++ b/nx01-x4o-fc18/src/test/java/org/x4o/fc18/cake2/zero33/FCDotAPL.java @@ -0,0 +1,270 @@ +/* + * Copyright (c) 2004-2014, Willem Cazander + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.x4o.fc18.cake2.zero33; + +/** + * Enum to convert APL to FC18. + * + * TODO: finish write when needed.. + * + * @author Willem Cazander + * @version 1.0 Jul 30, 2025 + */ +public enum FCDotAPL { + + + /// SL080000 One is pi + CIRCLE('○'), + + // === 2 + 6 boxes + + /// SL360000 + QUAD('⎕'), + /// SL260000 + SQUISH_QUAD('⌷'), + /// SL140000 + QUAD_DIVIDE('⌹'), + /// NEW from Dynlog APL + QUAD_DOT2('⍠'), + /// NEW from Dynlog APL + QUAD_BOX3('⌸'), + /// NEW from Dynlog APl + QUAD_QUAD('⌺'), + + // === 8 directions T arrows + + /// SL610000 + UP_ARROW('↑'), + /// SL600000 + RIGHT_ARROW('→'), + /// SL620000 + DOWN_ARROW('↓'), + /// SL590000 + LEFT_ARROW('←'), + /// SL220000 + UP_TACK('⊤'), + /// SL350000 + RIGHT_TACK('⊣'), + /// SL230000 + DOWN_TACK('⊥'), + /// SL340000 + LEFT_TACK('⊢'), + + // === 8 mirrors + + /// SL190000 + DOWN_TACK_JOT('⍎'), + /// SL200000 + UP_TACK_JOT('⍕'), + /// SL150000 + SLASH_BAR('⌿'), + /// SL160000 + SLOPE_BAR('⍀'), + /// SL010000 + UP_STILE('⌈'), + /// SL020000 + DOWN_STILE('⌊'), + /// SL030000 (used in GNU GPL) + DEL('∇'), + /// SL060000 (used in GNU GPL) + DELTA('∆'), + + + // === 8 Oooohhhs + + /// SL110000 + CIRCLE_STAR('⍟'), + /// SL090000 + CIRCLE_STILE('⌽'), + /// SL120000 + CIRCLE_BAR('⊖'), + /// SL100000 + CIRCLE_SLOPE('⍉'), + + //-------------------------------------------- + + + /// NEW from dynlog APL + CIRCLE_DOT_XL('⍥'), + /// NEW from dynlog APL + CIRLCE_DOT('⍤'), + /// SL250000 + JOT('∘'), + /// NEW from dynlog APL + STAR_DOT('⍣'), + + // === ALGOL_60 ::= + | - | × | / | ÷ | ↑ + + // SL790000 = Plus = FCDotCDC1604DashP6._PLUS + // SL690000 = Bar = FCDotCDC1604DashP6._MINUS + /// SL550000 + TIMES('×'), + // SL760000 = Slash = FCDotCDC1604DashP6.BAR_V_RIGHT + /// SL540000 + DIVIDE('÷'), + + // === ALGOL_60 ::= <, ≤, =, ≥, >, ≠ + + // SL520000 = Less than = FCDotCDC1604DashP6.TAG_COMPARE_LEFT + /// SL560000 + NOT_GREATER('≤'), + // SL810000 = Equal = FCDotCDC1604DashP6._EQUALS + /// SL570000 + NOT_LESS('≥'), + // SL530000 = Greater than = FCDotCDC1604DashP6.TAG_COMPARE_RIGHT + /// SL820000 + NOT_EQUAL('≠'), + /// SL050000 + DEL_STILE('⍒'), // grade down + /// SL070000 + DELTA_STILE('⍋'), + + // === ALGOL_60 ::= ≡ | ⊃ | ∧ | ∨ | ¬ + + /// SL300000 + EQUALS_UNDERBAR('≡'), + /// SL430000 + RIGHT_SHOE('⊃'), + /// SL510000 + UP_CARET('∧'), + /// SL500000 + DOWN_CARET('∨'), + /// NEW: This comes from ALGOL_60 chars. + ALGOL_NOT('¬'), + /// SL170000 + UP_CARET_TILDE('⍲'), // NAND + /// SL180000 + DOWN_CARET_TILDE('⍱'), + /// NEW: from Dynalog_APL + EQUALS_UNDERNOT('≢'), + + /// === Left over from modern APL for Zilog Z8000 see https://aplwiki.com/wiki/Dyalog_APL + + /// SL240000 + IBEAM_TACK('⌶'), + /// NEW from DYNA + DOTTED_TILDE('⍨'), + /// SL450000 + DIAERESIS('¨'), + // SL870000 + EPSILON_UNDERBAR('⍷'), + // SL860000 = Iota Underbar + IOTA_UNDERBAR('⍸'), + /// SL730000 + IOTA('⍳'), + /// SL410000 + DOWN_SHOE('∪'), + /// SL400000 + UP_SHOE('∩'), + + // ------------------------------------------------ + + + /// SL720000 + EPSILON('∊'), + /// NEW from dynslog APL + LEFT_SHOE_UNDERBAR('⊆'), + /// SL420000 + LEFT_SHOE('⊂'), + /// SL740000 + RHO('⍴'), + /// NEW from dynlog APL + MINUS_COMMA('⍪'), + + /// --------- Left over from IBM APL + + /// SL210000 + UP_SHOE_NULL('⍝'), + /// SL630000 + OVERBAR('‾'), + /// SL710000 + ALPHA('⍺'), + /// SL750000 + OMEGA('⍵'), + + + /// SL040000 + DEL_TILDE('⍫'), /// === ⎕LOCK + /// SL130000 + QUAD_QUOTE('⍞'), // GNU APL: stdin and debug out + /// SL270000 + QUAD_JOT('⌻'), // file meta info + /// SL280000 + QUAD_SLOPE('⍂'), // was expand + /// SL320000 + DIAERESIS_DOT('∵'), // each item + // SL330000 + DELTA_UNDERBAR('⍙'), // GNU APL: user var: starts (A-Z) or one of the 3 characters _, ∆ , or ⍙ + /// SL370000 + LESS_GREATER('⋄'), // each stmt + /// SL480000 + CIRCLE_PLUS('⊕'), // group + /// SL490000 + CIRCLE_TIMES('⊗'), // index of + + OPEN_19('?'), + OPEN_20('?'), + OPEN_21('?'), + OPEN_22('?'), + OPEN_23('?'), + OPEN_24('?'), + OPEN_25('?'), + OPEN_26('?'), + OPEN_27('?'), + + + + // SL290000 = Unsupported = Ampersand Underbar + // SL310000 = Unsupported = OUT Symbol = Not used by IBM ? + // SL380000 = Stile = FCDotCDC1604DashP6.BAR_VERTICAL + // SL390000 = undefined + // SL440000 = Underbar = FCDotCDC1604DashP6.BAR_UNDER + // SL460000 = Tilde = FCDotCDC1604DashP6._TILDE + // SL470000 = undefined + // SL580000 = Quote Dot = FCDotCDC1604DashP6._EXCLAMATION + // SL640000 = Slope = FCDotCDC1604DashP6.BAR_V_LEFT + // SL650000 = Star = FCDotCDC1604DashP6._ASTRIKS + // SL660000 = Quota = FCDotCDC1604DashP6._APOSTROPHE + // SL670000 = Left Parenthesis = FCDotCDC1604DashP6.TAG_ROUND_LEFT + // SL680000 = Right Parenthesis = FCDotCDC1604DashP6.TAG_ROUND_RIGHT + // SL700000 = Query = FCDotCDC1604DashP6._QUESTION + // SL770000 = Left Bracket = FCDotCDC1604DashP6.TAG_SQUARE_LEFT + // SL780000 = Right Bracket = FCDotCDC1604DashP6.TAG_SQUARE_RIGHT + // SL800000 = Semicolon = FCDotCDC1604DashP6._SEMICOLON + // SL830000 = Colon = FCDotCDC1604DashP6._COLON + // SL840000 = Dot = FCDotCDC1604DashP6._DOT + // SL850000 = Comma = FCDotCDC1604DashP6._COMMA + + + + ; + private final int codePoint; + + private FCDotAPL(int codePoint) { + this.codePoint = codePoint; + } + + public int codePoint() { + return codePoint; + } +}