Saved unicode APL enum for later possible use

This commit is contained in:
Willem Cazander 2025-07-30 14:05:55 +02:00
parent 8cabc8eb0d
commit 1fe69d9d7e

View file

@ -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 <arithmetic operator> ::= + | - | × | / | ÷ |
// SL790000 = Plus = FCDotCDC1604DashP6._PLUS
// SL690000 = Bar = FCDotCDC1604DashP6._MINUS
/// SL550000
TIMES('×'),
// SL760000 = Slash = FCDotCDC1604DashP6.BAR_V_RIGHT
/// SL540000
DIVIDE('÷'),
// === ALGOL_60 <relational operator> ::= <, , =, , >,
// 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 <logical operator> ::= | | | | ¬
/// 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;
}
}