Salut
Si tu copies le member().text, normal que la mise en forme soit perdue puisque le texte ne copie... que le texte brut

J'avais déjà posté des routines de conversion text>field, mais les revoilou

un script d'animation écrit par Lionel Morin très efficace.
CODE
-- conversion #text->#field
-- COPYRIGHTS notice -------------------------------------------
-- From: "Lionel Morin" <Lionel.Morin@cned.fr>
-- Organization: CNED
-- Newsgroups: macromedia.general.france
-- Date: Wed, 28 Nov 2001 14:25:56 -0100
----------------------------------------------------------------
on ConvertirTextEnField
-- Parcours tous les acteurs sélectionnés
MaCast = the activecastlib
l = the selection of castLib MaCast
repeat with i in l
if ilk(i) = #list then
repeat with j=i[1] to i[2]
AppelAction (member(j,MaCast), j, MaCast)
end repeat
else
AppelAction (member(i,MaCast), i , MaCast)
end if
end repeat
end ConvertirTextEnField
----------------------------------------------------------------
on AppelAction LeMembre, LeMemberNum, LaCast
-- Seulement les champs Text
if member(LeMembre).type <> #Text then return
-- Récupère les données du champ Text
Data = [#Texte:"", #Nom:"", #MEF:[], #Taille:0, #Alignement:""]
Data.Texte = member(LeMembre).text
Data.Nom = member(LeMembre).name
Data.Taille = member(LeMembre).rect
NbMots = member(LeMembre).word.count
repeat with i = 1 to NbMots
Data.MEF[i] = EpureListe(member(LeMembre).word[i].fontstyle)
end repeat
AL = EpureListe(member(LeMembre).alignment)
-- Si le Texte était justifié, on met le Field calé à gauche
if AL = "Full" then AL = "left"
Data.Alignement = AL
put data
-- Efface le champ et le remplace par un Field
member(LeMembre).erase()
set LeNouveauField= new(#field, member(LeMemberNum,LaCast))
-- Restore les données dans le Field
member(LeNouveauField).text = Data.Texte
member(LeNouveauField).name = Data.Nom
the rect of member(LeNouveauField) = Data.Taille
repeat with i = 1 to NbMots
the fontstyle of word i of member(LeNouveauField) = Data.MEF[i]
end repeat
member(LeNouveauField).alignment = Data.Alignement
end
----------------------------------------------------------------
on EpureListe LaListe
-- Transforme la liste envoyée en chaine sans # et sans []
-- Exemple : Epureliste([#bold, #underline]) retourne "bold, underline"
T = string(LaListe)
Nb = T.char.count
repeat with i = Nb down to 1
if T.char[i] = "[" or T.char[i] = "]" or T.char[i] = "#" then delete
t.char[i]
end repeat
return T
end
en fait le texte et foireux car PoM imprime l'image du texte (en 72dpi, beurk). Avec les champs il gère bien le trueType, et il imprime donc en vectoriel les acteurs champs.
bonne journée
séb