Memory Protection: Location 106 (RAMTOP) tells the Atari OS where usable RAM ends. 

Subtracting 4 "pages" (256 bytes each) gives you exactly 1024 bytes for a full 
character set.

The Pointer: Memory location 756 (CHBAS) is the high-byte pointer for the font. 
By changing this to your new RAM page, the computer stops looking at the ROM and 
starts looking at your custom data.

Character Mapping: Each character consists of 8 bytes (a grid). 

Proof of concept for Atari 8-bit
This program will allow to change characters just like TI-99 and C64

In the example below, character 33 ('A') is redefined using the DATA statement. 

Test Code: 

10 REM CHAR GRAPHIC
20 TOP = PEEK(106) - 4 
30 POKE 106, TOP 
40 GRAPHICS 0 
50 NF = TOP * 256
60 FOR I = 0 TO 1023
70 POKE NF + I, PEEK(57344 + I) 
80 NEXT I
90 POKE 756, TOP 
100 REM MODIFY CHARACTER 'A' (INTERNAL CHAR 33)
110 FOR I = 0 TO 7 : READ D : POKE NF + (33 * 8) + I, D : NEXT I
120 DATA 255,129,129,129,129,129,129,255 
130 FOR I = 0 TO 7 : READ D : POKE NF + (36 * 8) + I, D : NEXT I
140 DATA 00,00,00,24,60,126,255,255 
150 PRINT "DAD AARON"
160 GOTO 160