Const uint8_t flash array pointer problem

Please show us a full sketch that we can try.

Which Arduino board do you use ? I assume it is a Arduino Mega.

A pointer to a PROGMEM array is not a normal pointer. You have to use the "pgm_read..." functions or other special functions to retrieve the data.
As soon as you turn that pointer into a normal pointer, then the data is lost.

The name of an array is also a label or a pointer to the array. There is a difference, because when the compiler uses the name of the array, then it knows the size of the array.
In most cases the "ppoint = fan0" is okay, as long as PROGMEM is not involved !

Have you read this: https://www.arduino.cc/reference/en/language/variables/utilities/progmem/