Faits: A. R._ est divorcée selon jugement du 27 février 1996, confirmé par la Cour d'appel du Tribunal du canton de Fribourg le 28 mai 1997. L'autorité parentale sur ses deux enfants, nés en 1987 et 1988, a été attribuée uniquement à leur père, l'ex-époux de R._. Le droit de visite de R._ sur ses deux enfants a été fixé de la manière suivante, à défaut d'entente entre les parties: une fois tous les quinze jours, du vendredi à dix-huit heures au mercredi à neuf heures, ainsi que trois semaines pendant les vacances d'été, une semaine à Noël et une semaine à Pâques. En pratique, dès l'année 2000, R._ et son ex-époux étaient apparemment convenus que leurs enfants vivraient chez leur mère une semaine sur deux, du mercredi soir au mercredi soir suivant. R._ devait contribuer à l'entretien de ses enfants en payant une contribution d'entretien indexée de 200 fr. par mois et par enfant, puis de 300 fr. par mois et par enfant dès que ces derniers auraient atteint l'âge de douze ans. La contribution d'entretien n'a semble-t-il pas été payée ou du moins pas régulièrement; le bureau de recouvrement a dû verser à la place de R._ la contribution d'entretien en faveur des enfants en mains de leur père, jusqu'au 1er janvier 1999. A partir de cette date, l'ex-époux de R._ a renoncé à percevoir la contribution d'entretien. B. Pour la période fiscale 2001, R._ a demandé à bénéficier de déductions fiscales au motif que ses enfants vivaient une semaine sur deux chez elle; elle estimait être dans la situation d'une personne seule avec enfants à charge. Le Service cantonal des contributions du canton de Fribourg a refusé d'accorder à R._ les déductions sollicitées. C. Par décision du 2 juin 2003, le Service cantonal des contributions a rejeté la réclamation de R._. Le Tribunal administratif du canton de Fribourg a partiellement admis les conclusions du recours de R._ dans son arrêt du 19 mars 2004. Il lui a accordé, concernant l'impôt fédéral direct, la déduction pour personne à charge. Concernant l'impôt cantonal et communal, alors que l'ex-époux de R._ bénéficiait seul des déductions sociales pour enfants mineurs, le Tribunal administratif, sur proposition du Service cantonal des contributions, a partagé les dites déductions par moitié entre R._ et le père des enfants. Le Tribunal administratif a rejeté le recours pour le surplus; il a jugé que R._ ne devait pas bénéficier, sur les plans fédéral ainsi que cantonal et communal, du barème d'impôt plus favorable accordé aux époux vivant en ménage commun, aux contribuables veufs, séparés, divorcés et célibataires qui vivent en ménage commun avec des enfants dont ils assument pour l'essentiel l'entretien. En effet, l'autorité parentale n'était pas conjointe mais exercée uniquement par le père des enfants. D. Agissant par la voie du recours de droit administratif, R._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler partiellement l'arrêt du Tribunal administratif du 19 mars 2004 dans la mesure où il rejette ses conclusions. Elle reproche au Tribunal administratif de s'en tenir strictement à la notion d'attribution de l'autorité parentale au sens du droit civil alors qu'en pratique, elle contribuerait très largement à l'entretien de ses enfants. En outre, R._ sollicite l'assistance judiciaire. Le Service cantonal des contributions, le Tribunal administratif et l'Administration fédérale des contributions concluent au rejet du recours. 