Hi Christian,
I made up some data
SideVectors[?_] := (#[[2]] - #[[1]]) & /@
Transpose[{?[[1]], tateLeft[?[[1]]]}];
SideLengths[?_] := Norm /@ SideVectors[?];
BarycentricCoords[?_, t_] :=
Sum[t[[i]] ?[[1, i]], {i, 1, 3}]/Total[t];
TrilinearCoords[?_, {?_, ?_, ?_}] :=
Module[{a, b, c},
{a, b, c} = SideLengths[?];
BarycentricCoords[?, {domWord["CommonWords", 20, Language -> "German"] //
Join[#, {"树", "指", "都", "鱼", "刻", "朵", "今天"}] &
includeChars = {CharacterRange["A", "Z"], CharacterRange["a", "z"],
CharacterRange["0", "9"], "!"} // Flatten;
words // Select[! StringContainsQ[#, Except[includeChars]] &]
(*
{"Verhandlungsgeschick", "baggern", "Separation", "jure",
"Rechenschritt", "Kriegsbereit", "Riesenteleskop", "Statusbit",
"Dreieck", "cineastisch", "demselben", "Andalusier"}
*)