One student, a 15-year-old girl, was hospitalized in critical condition. The other injuries are said to be non-life-threatening.
The gunman, identified only as a sophomore at the school, was taken into custody and at least one weapon, a .22-caliber rifle, was recovered, said Rockdale County Sheriff Jeff Wigington.
There was no immediate word on a motive for the shootings, which came just before the start of classes on the last day of school for seniors at Heritage.
The school, which has about 1,300 students, is in Conyers, Georgia, about 30 miles east of Atlanta.
Students gathered outside the school on a track after the shooting, then began boarding buses to head home. School Superintendent Don Peccia said the school's graduation ceremony will go on as scheduled May 28.
The school was closed and swept for bombs as a precaution, although there was no evidence that explosives were inside.
Motive?
Chris Dunn, a sophomore who said he knows the gunman, said he had seen guns at the student's home but that the gunman never said he was thinking about shooting anyone at school.
But Katie Bir, a freshman and a friend of the gunman's girlfriend, said, "People have been saying he's been wanting to do this all year long."
Dunn said the gunman's grades had fallen recently. "He wasn't even trying anymore, which I was kind of concerned about."
Disarmed by assistant principal
The shootings started at 8:03 a.m. in the School Commons, a break area where hundreds of students usually gather before class, and ended 12 minutes later, said Rockdale County Commission Chairman Norman Wheeler.
A witness, senior William Britt, told CNN affiliate WSB-TV the gunman had both a rifle and a revolver and acted as if he would shoot himself, too. "He put the revolver in his mouth, but he didn't shoot himself," Britt said.
But Wigington said police recovered only a .22-caliber rifle.
Bill Price, a sophomore at Heritage, also witnessed some of the gunfire, but said he was too far away to see who was shooting. "Some guy was in front of the girls' bathroom in the common area, just firing off shots," he told WSB-TV. "He was going to take off running... but they stopped him before he did."
Wigington said an assistant principal disarmed the gunman.
Heritage High has no metal detectors but does employ a campus policeman, and some areas of the school are equipped with surveillance cameras.
Columbine 'copycat'?
The shooting comes one month to the day after the massacre at Columbine High School in the Denver suburb of Littleton in which two high school students murdered 13 people in a shooting rampage.
President Bill Clinton was to visit Littleton on Thursday to console students and families of victims.
Before leaving Washington, he called the Georgia shootings "deeply troubling."
"This incident again should underscore how profoundly important it is that all Americans come together in the face of these events to protect all of our children from violence," the president said.
Attorney General Janet Reno referred to the Conyers shooting as a "copycat" shooting.
"When we see some of these copycat events, it is because people want attention and they want to have a focus on them. I think this is indicative of again the need to reach out to young people and to try to address what causes this," Reno said at a Washington news conference.
"Our thoughts and prayers go to the victims, to their families, and our hearts go out with wishes for quick recovery," she said.
The shooting occurred during a week in which the Senate has been debating laws that would strengthen requirements for background checks for gun buyers. "We have got to do this," Clinton said.