function ng_bighalo( \ clip clp, \ string text, \ float "x", \ float "y", \ int "first_frame", \ int "last_frame", \ string "font", \ float "size", \ int "text_color", \ int "halo_color", \ int "align", \ int "spc", \ int "lsp", \ float "font_width", \ float "font_angle", \ int "halo_radius", \ string "memo" \){ #Version 7 x = default( x, -1) first_frame = default(first_frame, 0) last_frame = default( last_frame, first_frame + 299) font = default( font, "Ariel") size = default( size, 18) y = default( y, size) text_color = default( text_color, $20FFFFFF) halo_color = default( halo_color, $20000000) align = default( align, 5) spc = default( spc, 0) lsp = default( lsp, 1) font_width = default( font_width, 0) font_angle = default( font_angle, 0) halo_radius = default(halo_radius, 8) invis=BlankClip(clp, length=1, pixel_type="YV12") text_mask=Subtitle(invis, text, x, y, 0, 0, font, size, $00FFFFFF, \ $80808080, align, spc, lsp, font_width, font_angle) halo_mask=mt_logic(text_mask, \ text_mask.mt_expand(mode=mt_circle(halo_radius)), \ mode="xor") hc=BlankClip(clp, length=1, color=halo_color) tc=Subtitle(hc, text, x, y, 0, 0, font, size, text_color, \ $FF000000, align, spc, lsp, font_width, font_angle) h_alpha=(halo_color >= 0) ? 255 - halo_color/$01000000 \ : -(halo_color+1)/$01000000 t_alpha=(text_color >= 0) ? 255 - text_color/$01000000 \ : -(text_color+1)/$01000000 lut_str=string(h_alpha)+" x * 255 / "+string(t_alpha)+" y * 255 / max" mm3=tc.Mask(mt_lutxy(halo_mask, text_mask, lut_str).ConvertToRGB32()) mm4=Defined(memo) ? ( \ Exist(memo+"0.bmp") ? ImageSource(memo+"0.bmp") \ : mm3.ImageWriter(memo+"%d.bmp") \ ) : mm3 clp.ApplyRange(first_frame, last_frame, "Layer", mm4) }