Primenary Strings
MATL, 10 bytes
BtXsw!shZp
Try it online!
This is the ideal language for the job. It's pretty much a literal transliteration of the challenge specification.
Bt % Converts input to binary matrix, duplicate
Xs % Sum columns (alternative X version to prevent defaulting to sum along first non-singleton dimension, thanks @Jonathan Allan)
w! % Get the duplicate to the top of the stack, transpose
s % Sum again
h % Concatenate horizontally
Zp % Check primality element-wise. Display implicitly.
Since any zero makes a MATL array falsy as per meta, nothing else is needed - basically, an implicit A
is called on ?
(if).
Jelly, 13 12 11 bytes
OBUZ;$S€ÆPẠ
TryItOnline! or all test cases
How?
OBUZ;$S€ÆPẠ - Main link: word e.g. ha!
O - cast to ordinals e.g. [104,97,33]
B - convert to binary e.g. [[1,1,0,1,0,0,0],[1,1,0,0,0,0,1],[1,0,0,0,0,1]]
U - reverse each entry (say "b") e.g. [[0,0,0,1,0,1,1],[1,0,0,0,0,1,1],[1,0,0,0,0,1]]
$ - last two links as a monad
Z - transpose e.g. [[0,1,1],[0,0,0],[0,0,0],[1,0,0],[0,0,0],[1,1,1],[1,1]]
; - concatenate with "b" e.g. [[0,1,1],[0,0,0],[0,0,0],[1,0,0],[0,0,0],[1,1,1],[1,1],[0,0,0,1,0,1,1],[1,0,0,0,0,1,1],[1,0,0,0,0,1]]
S€ - sum €ach e.g. [2,0,0,1,0,3,2,3,3,2]
ÆP - is prime (1 if prime, 0 if not) e.g. [1,0,0,0,0,1,1,1,1,1]
Ạ - all truthy? e.g. 0
05AB1E, 17 bytes
Çžz+b€¦€SDøìO0ÛpP
Try it online!