CP-1610 machine code, 27 26 22 21 DECLEs1 ≈ 27 bytes
As per the exception described in this meta answer, the exact score is 26.25 bytes (210 bits)
A routine taking a Unicode code point in R0 and returning another code point in the same register.
081 | MOVR R0, R1
045 | SWAP R1, 2
203 009 | BPL @@rtn
065 | SLR R1, 2
3B9 007 | ANDI #7, R1
0F9 | ADDR R7, R1
2F9 006 | ADDI #6, R1
3B8 020 | ANDI #32, R0
3C8 | XOR@ R1, R0
0AF | @@rtn JR R5
041 043 045 049 | STRING "ACEIOOU"
04F 04F 055 |
How?
All the special characters we're interested in are located in the 0xC0-0xFF
Unicode range.
full range relevant letters replacement
| 0123 4567 | 0123 4567 | 0123 4567
---+---------- ---+---------- ---+----------
C0 | ÀÁÂÃ ÄÅÆÇ C0 | ÀÁÂÃ ---Ç C0 | AAAA ---C
C8 | ÈÉÊË ÌÍÎÏ C8 | -ÉÊ- -Í-- C8 | -EE- -I--
D0 | ÐÑÒÓ ÔÕÖ× D0 | ---Ó ÔÕ-- D0 | ---O OO--
D8 | ØÙÚÛ ÜÝÞß D8 | --Ú- ---- D8 | --U- ----
E0 | àáâã äåæç E0 | àáâã ---ç E0 | aaaa ---c
E8 | èéêë ìíîï E8 | -éê- -í-- E8 | -ee- -i--
F0 | ðñòó ôõö÷ F0 | ---ó ôõ-- F0 | ---o oo--
F8 | øùúû üýþÿ F8 | --ú- ---- F8 | --u- ----
As shown in the tables above, each group of \$4\$ accented letters is mapped to a single non-accented letter. So, given a code point \$n\$, we compute the index:
$$i=\left\lfloor\frac{n}{4}\right\rfloor\bmod 8$$
We pick the corresponding letter from the lookup string "ACEIOOU"
and then apply the correct case.
Full commented test code
ROMW 10 ; use 10-bit ROM width
ORG $4800 ; map this program at $4800
;; ------------------------------------------------------------- ;;
;; main code ;;
;; ------------------------------------------------------------- ;;
main PROC
SDBD ; set up an interrupt service routine
MVII #isr, R0 ; to do some minimal STIC initialization
MVO R0, $100
SWAP R0
MVO R0, $101
EIS ; enable interrupts
SDBD ; R4 = pointer into the test case table
MVII #tc, R4
MVII #$200, R3 ; R3 = backtab pointer
MVII #76, R2 ; R2 = number of test cases
@@loop MVI@ R4, R0 ; R0 = character code point
CALL conv ; invoke our routine
SUBI #32, R0 ; turn the result into an Intellivision card
SLL R0, 2
SLL R0
MVO@ R0, R3 ; draw it
INCR R3 ; increment the backtab pointer
DECR R2 ; next test case
BNEQ @@loop
DECR R7 ; done: loop forever
ENDP
;; ------------------------------------------------------------- ;;
;; test cases ;;
;; ------------------------------------------------------------- ;;
tc PROC
DECLE 65 ; A
DECLE 193 ; Á
DECLE 192 ; À
DECLE 195 ; Ã
DECLE 194 ; Â
DECLE 66 ; B
DECLE 67 ; C
DECLE 199 ; Ç
DECLE 68 ; D
DECLE 69 ; E
DECLE 201 ; É
DECLE 202 ; Ê
DECLE 70 ; F
DECLE 71 ; G
DECLE 72 ; H
DECLE 73 ; I
DECLE 205 ; Í
DECLE 74 ; J
DECLE 75 ; K
DECLE 76 ; L
DECLE 77 ; M
DECLE 78 ; N
DECLE 79 ; O
DECLE 213 ; Õ
DECLE 211 ; Ó
DECLE 212 ; Ô
DECLE 80 ; P
DECLE 81 ; Q
DECLE 82 ; R
DECLE 83 ; S
DECLE 84 ; T
DECLE 85 ; U
DECLE 218 ; Ú
DECLE 86 ; V
DECLE 87 ; W
DECLE 88 ; X
DECLE 89 ; Y
DECLE 90 ; Z
DECLE 97 ; a
DECLE 225 ; á
DECLE 224 ; à
DECLE 227 ; ã
DECLE 226 ; â
DECLE 98 ; b
DECLE 99 ; c
DECLE 231 ; ç
DECLE 100 ; d
DECLE 101 ; e
DECLE 233 ; é
DECLE 234 ; ê
DECLE 102 ; f
DECLE 103 ; g
DECLE 104 ; h
DECLE 105 ; i
DECLE 237 ; í
DECLE 106 ; j
DECLE 107 ; k
DECLE 108 ; l
DECLE 109 ; m
DECLE 110 ; n
DECLE 111 ; o
DECLE 245 ; õ
DECLE 243 ; ó
DECLE 244 ; ô
DECLE 112 ; p
DECLE 113 ; q
DECLE 114 ; r
DECLE 115 ; s
DECLE 116 ; t
DECLE 117 ; u
DECLE 250 ; ú
DECLE 118 ; v
DECLE 119 ; w
DECLE 120 ; x
DECLE 121 ; y
DECLE 122 ; z
ENDP
;; ------------------------------------------------------------- ;;
;; ISR ;;
;; ------------------------------------------------------------- ;;
isr PROC
MVO R0, $0020 ; enable display
CLRR R0
MVO R0, $0030 ; no horizontal delay
MVO R0, $0031 ; no vertical delay
MVO R0, $0032 ; no border extension
MVII #$D, R0
MVO R0, $0028 ; light-blue background
MVO R0, $002C ; light-blue border
JR R5 ; return from ISR
ENDP
;; ------------------------------------------------------------- ;;
;; our routine ;;
;; ------------------------------------------------------------- ;;
conv PROC
MOVR R0, R1 ; copy R0 to R1
SWAP R1, 2 ; copy the lower byte of R1 to its upper byte,
; resulting in a negative word for an accented letter
BPL @@rtn ; return right away if it's a regular ASCII character
SLR R1, 2 ; right-shift by 2 positions
ANDI #7, R1 ; isolate the 3 least significant bits
ADDR R7, R1 ; add the address of our lookup string,
ADDI #6, R1 ; computed as PC + 6
ANDI #32, R0 ; isolate the case bit of the original character
XOR@ R1, R0 ; XOR it with the non-accented letter
@@rtn JR R5 ; return
STRING "ACEIOOU" ; lookup string
ENDP
Output

screenshot from jzIntv
1. A CP-1610 opcode is encoded with a 10-bit value (0x000 to 0x3FF), known as a 'DECLE'.